vi共有三种模式:
- 一般模式:以vi打开一个文件就直接进入一般模式,在这个模式中,可以移动光标,也可以删除字符或删除整行,也可以复制、粘贴数据。
- 插入模式:按下
i,l,o,O,a,A,r,R
之中任何一个字母就会进入插入模式,进入插入模式,左下角会有INSERT
字样。此时即可对文本进行编辑,若要退出,则必须要按下ESC
键。
- 命令行模式:在一般模式中输入
:,/,?
中任意一个字符即可进入,此时光标将会移动到最下面一行,例如读取、保存、退出vi等操作就是在此模式下完成。
按键说明
移动光标
按键 | 说明 |
---|---|
h 或左方向键 |
光标左移一个字符 |
l 或右方向键 |
光标右移一个字符 |
k 或上方向键 |
光标上移一个字符 |
j 或下方向键 |
光标下移一个字符 |
数字+方向键 | 光标向指定方向移动指定个字符 |
[Crlt]+[f] | 屏幕下移一页 |
[Crlt]+[b] | 屏幕上移一页 |
[Crlt]+[d] | 屏幕下移半页 |
[Crlt]+[u] | 屏幕上移半页 |
+ | 光标移动到非空格符的下一行 |
- | 光标移动到非空格符的上一行 |
数字+空格 | 光标向右移动指定个字符 |
0 | 移动到该行行首 |
$ | 移动到该行行尾 |
H | 光标移动到屏幕最上方那一行的行首 |
M | 光标移动到屏幕中央那一行行首 |
L | 光标移动到屏幕最下方那一行行首 |
G | 移动到该文件最后一行 |
查找
按键 | 说明 |
---|---|
/字符串 | 向下查找输入的字符串 |
?字符串 | 向上查找输入的字符串 |
n | 重复前一个查找操作 |
N | 反向重复前一个查找操作 |
删除、复制与粘贴
按键 | 说明 |
---|---|
x,X | x为向后删除一个字符,X为向前删除一个字符 |
数字+x | 向后连续删除指定个字符 |
dd | 删除光标所在整行 |
数字+dd | 删除光标所在一下指定行 |
yy | 复制光标所在那一行 |
p,P | p为将已复制的数据在光标下一行粘贴,P为粘贴在光标上一行 |
一般模式切换到命令行模式可用的按钮
按键 | 说明 |
---|
:w | 将数据写入硬盘
:q | 离开vi
:wq | 保存后离开
块选择
如果想在文本中选择一块区域的文本,可以使用块选择。在一般模式按下V
即可进入。
在这个状态下,移动光标即可选择文本。
若是按下Crlt+v
,则会用方形的方式选择文本。
按下y
即可将选择的部分复制,按下d
即可将选择的部分删除。