vim三种模式
一般模式
以vi打开一个文件就直接进入一般模式了。一般模式下可以移动光标查看内容,通过ESC回到一般模式。
一般模式下常用的操作:
- 撤销与重做
命令 | 说明 |
u | 复原上一个操作 |
. 小数点 | 重复上一个操作,可以重复删除,重复粘贴等,按下 . |
- 删除
命令 | 说明 |
d | 删除光标所在的一整行 |
d1G | 删除光标所在行到第一行的数据 |
dG | 删除光标所在行到最后一行的数据 |
d | 删除光标所在处到该行的最后一个字符 |
d0 | 删除光标所在处到该行最前面的字符 |
- 复制与粘贴
命令 | 说明 |
yy | 复制光标所在的一行 |
y1G | 复制光标所在行到第一行的数据 |
yG | 复制光标所在行都最后一行的数据 |
y | 复制光标所在字符到行尾的数据 |
y0 | 复制光标所在行到行首的字符 |
p | 复制的数据在光标下一行粘贴 |
P | 粘贴在光标的上一行 |
编辑模式
在一般模式中,不可以编辑文件内容,要按下“i,I,o,O,a,A,r,R”等任何一个字母之后才会进入编辑模式,编辑模式中可以对内容进行编写。要回到一般模式中按ESC.
命令 | 说明 |
i | 从光标在的位置处开始编辑 |
I | 从光标所在行的第一个不是空格的地方开始插入 |
a | 从光标的下一个字符开始编辑 |
A | 从光标所在行的最后一个位置编辑 |
o | 从光标所在的下一行开始编辑 |
O | 从光标所在的上一行编辑 |
r | 替换光标所在的一个字符替换结束 |
R | 替换光标所在行的一行 |
命令行模式
在一般模式中,输入”:, / , ?”中的任何一个就可以将光标移动到最下面那一行,在这个模式中,可以提供你查找数据的操作,而读取、保存、大量替换字符,离开vi等操作则是在该模式中完成的。
- 命令行的保存,离开
命令 | 说明 |
: | 从一般模式进入命令行模式 |
:w | 将编辑的数据写入硬盘文件中 |
:w! | 只读性文件强制写入硬盘文件中 |
:q | 离开vi |
:q! | ! 强制离开不保存文件 |
:wq | 保存后离开 |
:wq! | 将只读性文件强制写入保存后离开 |
- 查找与替换
命令 | 说明 |
/word | 从上往下找一个名称为word的字符串,从一般模式中输入/进入命令行模式 |
?word | 从下往上找一个名称为word的字符串,从一般模式中输入?进入命令行模式 |
n | 跳到查找的下一个字符处。如果是/word则从从上往下,?word 则从下往上 |
N | 与n刚好相反,/word 从向上查找 |
n1,n2s/w1/w2/g | :进入命令行模式,将n1行到n2行之间的w1替换为w2 |
1,$s/word1/word2/g | :进入命令行模式,从第一行到最后一行将word1替换为word2 |
1,$s/word1/word2/gc | :进入命令行模式,从第一行到最后一行将word1替换为Word2,并让用户进行确认 |