vi: Visual Interface
vim: VI iMproved
全屏編輯器,
vim模式:
編輯模式(命令模式)
輸入模式
末行模式
模式轉(zhuǎn)換:
編輯-->輸入:
i:在當(dāng)前光標(biāo)所在字符的前面,轉(zhuǎn)為輸入模式;
a:在當(dāng)前光標(biāo)所在字符的后面,轉(zhuǎn)為輸入模式;
o:在當(dāng)前光標(biāo)所在行的下方,新建一行,并轉(zhuǎn)為輸入模式;
I:在當(dāng)前光標(biāo)所在行的行首,轉(zhuǎn)換為輸入模式
A:在當(dāng)前光標(biāo)所在行的行尾,轉(zhuǎn)換為輸入模式
O:在當(dāng)前光標(biāo)所在行的上方,新建一行,并轉(zhuǎn)為輸入模式;
輸入-->編輯:
ESC
編輯-->末行:
:
末行-->編輯:
ESC, ESC
一、打開文件
# vim /path/to/somefile
vim +# :打開文件,并定位于第#行
vim +:打開文件,定位至最后一行
vim +/PATTERN :打開文件,定位至第一次被PATTERN匹配到的行的行首
默認(rèn)處于編輯模式
二、關(guān)閉文件
1、末行模式關(guān)閉文件
:q退出
:wq保存并退出
:q!不保存并退出
:w保存
:w!強(qiáng)行保存
:wq --> :x
2、編輯模式下退出
ZZ:保存并退出
三、移動(dòng)光標(biāo)(編輯模式)
1、逐字符移動(dòng):
h:左
l:右
j:下
k:上
#h:移動(dòng)#個(gè)字符;
2、以單詞為單位移動(dòng)
w:移至下一個(gè)單詞的詞首
e:跳至當(dāng)前或下一個(gè)單詞的詞尾
b:跳至當(dāng)前或前一個(gè)單詞的詞首
#w:
3、行內(nèi)跳轉(zhuǎn):
0:絕對行首
^:行首的第一個(gè)非空白字符
$:絕對行尾
4、行間跳轉(zhuǎn)
#G:跳轉(zhuǎn)至第#行;
G:最后一行
末行模式下,直接給出行號(hào)即可
四、翻屏
Ctrl+f:向下翻一屏
Ctrl+b:向上翻一屏
Ctrl+d:向下翻半屏
Ctrl+u:向上翻半屏
五、刪除單個(gè)字符
x:刪除光標(biāo)所在處的單個(gè)字符
#x:刪除光標(biāo)所在處及向后的共#個(gè)字符
六、刪除命令: d
d命令跟跳轉(zhuǎn)命令組合使用;
#dw, #de, #db
dd:刪除當(dāng)前光標(biāo)所在行
#dd:刪除包括當(dāng)前光標(biāo)所在行在內(nèi)的#行;
末行模式下:
StartADD,EndADDd
.:表示當(dāng)前行
$:最后一行
+#:向下的#行
七、粘貼命令p
p:如果刪除或復(fù)制為整行內(nèi)容,則粘貼至光標(biāo)所在行的下方,如果復(fù)制或刪除的內(nèi)容為非整行,則粘貼至光標(biāo)所在字符的后面;
P:如果刪除或復(fù)制為整行內(nèi)容,則粘貼至光標(biāo)所在行的上方,如果復(fù)制或刪除的內(nèi)容為非整行,則粘貼至光標(biāo)所在字符的前面;
八、復(fù)制命令y
用法同d命令
九、修改:先刪除內(nèi)容,再轉(zhuǎn)換為輸入模式
c:用法同d命令
十、替換:r
R:替換模式
十一、撤消編輯操作u
u:撤消前一次的編輯操作
連續(xù)u命令可撤消此前的n次編輯操作
#u:直接撤消最近#次編輯操作
撤消最近一次撤消操作:Ctrl+r
十四、查找
/PATTERN
?PATTERN
n上一個(gè)
N下一個(gè)
十五、查找并替換
在末行模式下使用s命令
ADDR1,ADDR2s@PATTERN@string@gi
1,$
%:表示全文