1. VIM的三种编辑状态:
命令模式(command mode)
插入模式(Insert mode)
底行模式(last line mode)
2. 在命令模式,有以下操作和命令
1)光标移动操作:
h 方向键,向左移动光标一个字符的位置,相当于键"←"
j 方向键,向下移动光标一个字符的位置,相当于键"↓"
k 方向键,向上移动光标一个字符的位置,相当于键"↑"
l 方向键,向右移动光标一个字符的位置,相当于键"→"
:N移动光标到第N行(N待定)
1G移动光标到第1行
G 移动光标到最后1行
2)设置行号操作:
:set number(:set nu) 设置显示行号
:set(:set nonu) 取消显示行号
3)复制操作:
y 在使用v模式选定了某一块的时候,复制选定块到缓冲区用;
yy 复制整行(nyy或者yny ,复制n行,n为数字);
y^ 复制当前到行头的内容;
y$ 复制当前到行尾的内容;
yw 复制当前光标在这个word中后面部分
yaw 复制当前单词
yG 复制至档尾(nyG或者ynG,复制到第n行,例如1yG或者y1G,复制到档尾)
4)剪切操作:
x: 删除光标字符(类似delete键)
nx:删除光标后n个字符
X: 删除光标前一字符(类似退格键)
nX:删除光标前n个字符
d : 剪切选定块到缓冲区;
dd : 剪切整行
ndd: 剪切n行
d^: 剪切至行首
d$ : 剪切至行尾
dw: 剪切一个word
dG: 剪切至档尾
5)粘贴命令:
p
6)撤销命令:
u
3. 在插入模式,有以下操作和命令
a 从当前光标之后的位置开始插入键盘输入的字符
A 从光标所在列最后面的地方开始新增资料
i 从当前光标之前的位置开始插入键盘输入的字符
I 从光标所在列第一个非空白字符前面开始新增资料
o 在光标所在列下新增一行,并进入插入模式
O 在光标所在列上新增一行,并进入插入模式
4. 在底行模式,有以下操作和命令
1)退出操作:
:q文件未修改而退出
:q!文件修改,不保存强制退出
:wq文件修改,保存退出
:x等价于:wq
:w保存文件不退出
2) 查找操作:
/string查找字符串 比如/printf
n 继续查找
N 反向继续查找
支持正则表达式比如:/^the
3) 替换操作:
:范围 s/old/new
:s/str1/str2/ 当前行替换
:s/str1/str2/g g代表全部
:.,$ s/str1/str2/g //全文替换
:1,$ s/str1/str2/g //全文替换
:%s/str1/str2/g //全文替换
4) 打开新窗口:
:vsp 文件名(竖分)
:sp 文件名(横分)