vi: Visual Interface
vim: VI iMproved
全屏编辑器,
vim模式:
编辑模式(命令模式)
输入模式
末行模式
模式转换:
编辑-->输入:
i:在当前光标所在字符的前面,转为输入模式;
a:在当前光标所在字符的后面,转为输入模式;
o:在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;
输入-->编辑:
ESC
编辑-->末行:
:
末行-->编辑:
ESC, ESC
一、打开文件
# vim /path/to/somefile
vim +# :打开文件,并定位于第#行
vim +:打开文件,定位至最后一行
vim +/PATTERN :打开文件,定位至第一次被PATTERN匹配到的行的行首
默认处于编辑模式
二、关闭文件
1、末行模式关闭文件
:q退出
:wq保存并退出
:q!不保存并退出
:w保存
:w!强行保存
:wq --> :x
2、编辑模式下退出
ZZ:保存并退出
三、移动光标(编辑模式)
1、逐字符移动:
h:左
l:右
j:下
k:上
#h:移动#个字符;
2、以单词为单位移动
w:移至下一个单词的词首
e:跳至当前或下一个单词的词尾
b:跳至当前或前一个单词的词首
#w:
3、行内跳转:
0:绝对行首
^:行首的第一个非空白字符
$:绝对行尾
4、行间跳转
#G:跳转至第#行;
G:最后一行
末行模式下,直接给出行号即可
四、翻屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
五、删除单个字符
x:删除光标所在处的单个字符
#x:删除光标所在处及向后的共#个字符
六、删除命令: d
d命令跟跳转命令组合使用;
#dw, #de, #db
dd:删除当前光标所在行
#dd:删除包括当前光标所在行在内的#行;
末行模式下:
StartADD,EndADDd
.:表示当前行
$:最后一行
+#:向下的#行
七、粘贴命令p
p:如果删除或复制为整行内容,则粘贴至光标所在行的下方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的后面;
P:如果删除或复制为整行内容,则粘贴至光标所在行的上方,如果复制或删除的内容为非整行,则粘贴至光标所在字符的前面;
八、复制命令y
用法同d命令
九、修改:先删除内容,再转换为输入模式
c:用法同d命令
十、替换:r
R:替换模式
十一、撤消编辑操作u
u:撤消前一次的编辑操作
连续u命令可撤消此前的n次编辑操作
#u:直接撤消最近#次编辑操作
撤消最近一次撤消操作:Ctrl+r
十四、查找
/PATTERN
?PATTERN
n上一个
N下一个
十五、查找并替换
在末行模式下使用s命令
ADDR1,ADDR2s@PATTERN@string@gi
1,$
%:表示全文