VIM常用指令

1.保存\退出

:w 保存
:q 退出
:wq或者ZZ 保存退出
:q! 强制退出

2.插入、退出命令

a 在光标所在位置之后插入文本
A 在光标所在行的行末之后插入文本
i 在光标所在位置插入文本
I 在光标所在行的行末之前插入文本
o 在光标下方打开新的一行并将光标置于新开的行首,进入插入模式
O 在光标上方打开新的一行并将光标置于新开的行首,进入插入模式
R 进入替换模式
ESC 退出编辑模式

3.光标移动

常用:
任何模式下使用方向键移动

gg 跳到最初一行
G 跳到最后一行
ngg 跳到n行
ctrl+f 往后翻一页
ctrl+b 往前翻一页
小技巧: 将数字键盘锁了
1 光标移动本行尾部
7 光标移动本行开头
3 往后翻一页
9 往前翻一页
2、4、6、8 上下左右
0 切换替换模式

/***
本人不常用:
w — 下一个单词首字母
b — 前一个单词首字母
e — 后一个单词尾字母
nG — n行
:n — n行
ctrl+d ------ 往后半页
ctrl+u ------ 往前半页
^ — 移动到本行第一个非空字符
$ — 移动到本行最后一个字符

***/

4.文本操作

nyy 复制光标开始之下n行
ndd 剪切光标开始之下n行
p 粘贴(复制粘贴之后都可以用p)
u 撤销上一次操作
ctrl+r 取消撤销

复制使用y相关命令:
ynw ------------- 复制光标开始到第n个单词末尾
yG -------------- 复制光标所在行开始到文件末尾
ygg ------------- 复制光标所在行开始到文件开头
y$ -------------- 复制光标开始到本行末尾
y^ -------------- 复制光标之前到本行开头
剪切使用d相关命令
dnw ------------- 剪切光标开始到第n个单词末尾
dG -------------- 剪切光标所在行开始到文件末尾
dgg ------------- 剪切光标所在行开始到文件开头
d$ -------------- 剪切光标开始到本行末尾
d^ -------------- 剪切光标之前到本行开头
x --------------- 剪切光标所在字符
r --------------- 替换光标所在字符

5.底行命令

:r 读取其他文件内容到本文件
:e 打开其他文件
:vs 左右分屏
:sp 上下分频
:ns/old/new 在n行内替换头一个字符串 old 为新的字符串 new
:set xxx 设置xxx选项
?或者/ ?是向前搜索,/是向后搜索
ctrl+~ 大小写切换
>>或者<< 向左或者右缩进一个tab

:set 设置
设置显示行号 ----------- set nu
设置自动缩进 ----------- set autoindent
设置C语言风格缩进 ----- set cindent
设置tab键的长度 ------- set tabstop=4
设置缩进长度 ----------- set shiftwidth=4
(以上set命令可以把他们写到主目录下的.vimrc文件中,让每次打开vi后自动生效)
分屏的命令
(使用ctrl + ww可以在多个窗口之间切换)
打开多个文件 --------- vi 文件路径1 路径2 …
:prev --------- 上一个文件
:next --------- 下一个文件(:n)
:first -------- 第一个文件
:last --------- 最后一个文件
搜索替换类底行命令
n ----------- 光标定位到下一个找到的位置
N ----------- 光标定位到上一个找到的位置
/<xxx ------- 在文件中查找以xxx开头的单词
/xxx> ------- 在文件中查找以xxx结尾的单词
/<xxx> ----- 在文件中查找内容为xxx的单词
VIM常用指令