在使用 Vim 的過程中,經(jīng)常需要粘貼、替換、跳轉(zhuǎn)等操作,由于我腦子笨,時(shí)常記不住,總是依賴 google 幫忙才能完成。所以這次索性就把常用的命令集中梳理一下,通過寫文章的方式來強(qiáng)迫自己記住:)
編輯
插入
i:在當(dāng)前位置插入
a:在當(dāng)前位置后插入
I:在當(dāng)前行首插入
A:在當(dāng)前行尾插入
刪除
X:刪除前一個(gè)字符
s:刪除光標(biāo)所在的字符,光標(biāo)還在當(dāng)前行(等同于 x)
S:刪除光標(biāo)所在的行,光標(biāo)還在當(dāng)前行(不同于dd)
dd:刪除一行,光標(biāo)到下一行
[N]d+Enter:刪除當(dāng)前行開始的 N 行
dw,dW:從當(dāng)前光標(biāo)處開始刪除一個(gè)單詞(大寫包含標(biāo)點(diǎn))
d$:刪除當(dāng)前字符之后的所有字符(本行)
dk:刪除當(dāng)前行和上一行
dj:刪除當(dāng)前行和下一行
kdgg:刪除當(dāng)前行之前所有行(不包括當(dāng)前行)
jdG(jd shift + g):刪除當(dāng)前行之后所有行(不包括當(dāng)前行)
:1,10d:刪除1-10行
:10d:刪除第10行
:11,$d:刪除11行及以后所有的行
移動(dòng)和粘貼
ddp:交換光標(biāo)所在行和其下緊鄰的一行
xp:交換當(dāng)前字符和其下一個(gè)字符
~:將當(dāng)前字符變換為大寫
[N]>>:一行或N行向右移動(dòng)一個(gè) tab
[N]<<:一行或N行向左移動(dòng)一個(gè) tab
[N]yy:復(fù)制一行或者N行
yw:復(fù)制一個(gè)單詞
p:粘貼
shift+p:在當(dāng)前行前粘貼
:1, 10 m 20 將第1-10行移動(dòng)到第20行之后
:1,10 co 20 將1-10行插入到第20行之后
:1,$ co $ 將整個(gè)文件復(fù)制一份并添加到文件尾部
光標(biāo)跳轉(zhuǎn)
W,E,w,e:以單詞為單位,向前跳動(dòng),大寫包含標(biāo)點(diǎn)(w 光標(biāo)落在單詞首字母,e 光標(biāo)落在單詞為字母)
B,b:以單詞為單位,向后跳動(dòng),大寫包含標(biāo)點(diǎn)
O(大寫字母O):在當(dāng)前行上方開啟新的一行
o(小寫字母o):在當(dāng)前行下方開啟新的一行
^:移動(dòng)到本行第一個(gè)非空白字符上
$:光標(biāo)移動(dòng)到一行的結(jié)尾
[N]$:移動(dòng)到下面 N 行的行尾
0(數(shù)字0):光標(biāo)移動(dòng)到本行第一個(gè)字符上
gg:光標(biāo)移動(dòng)到文檔的開頭
G:光標(biāo)移動(dòng)到文檔的結(jié)尾
Ctrl + e:向下滾動(dòng)一行
Ctrl + y:向上滾動(dòng)一行
Ctrl + d:向下滾動(dòng)半屏
Ctrl + u:向上滾動(dòng)半屏
Ctrl + f:向下滾動(dòng)一屏
Ctrl + b:向上滾動(dòng)一屏
搜索和替換:
查找很長(zhǎng)的詞,如果一個(gè)詞很長(zhǎng),鍵入麻煩,可以將光標(biāo)移動(dòng)到該詞上,按*或#鍵即可以該單詞進(jìn)行搜索,相當(dāng)于/搜索;而#命令相當(dāng)于?搜索。
/pattern:查找 pattern,按 n 健查找下一個(gè),按 N 鍵查找前一個(gè)
?pattern:查找 pattern,反向查找,按 n 健查找下一個(gè),按 N 鍵查找前一個(gè)
:set ignorecase 忽略大小寫的查找
:set hlsearch 高亮搜索結(jié)果,所有結(jié)果都高亮顯示,而不是只顯示一個(gè)匹配。
:set incsearch 逐步搜索模式,對(duì)當(dāng)前鍵入的字符進(jìn)行搜索而不必等待鍵入完成
n:光標(biāo)到達(dá)搜索結(jié)果的下一個(gè)目標(biāo)
N:光標(biāo)到達(dá)搜索結(jié)果的上一個(gè)目標(biāo)
ra 將當(dāng)前字符替換為a,當(dāng)期字符即光標(biāo)所在字符
s/old/new/ 用old替換new,替換當(dāng)前行的第一個(gè)匹配
s/old/new/g 用old替換new,替換當(dāng)前行的所有匹配
%s/old/new/g 用old替換new,替換整個(gè)文件的所有匹配
文件和窗口:
:split file 橫向打開一個(gè)新窗口,光標(biāo)停在頂層的窗口上
:vsplit file 縱向打開一個(gè)新窗口,光標(biāo)停在頂層的窗口上
Ctrl+w 移動(dòng)到下一個(gè)窗口
:close 關(guān)閉當(dāng)前窗口
:open file 在新窗口中打開文件
:bn 切換到下一個(gè)文件
:bp 切換到上一個(gè)文件
其他
.:重復(fù)最后一個(gè)命令
:!command 執(zhí)行 shell 命令
:suspend或Ctrl - Z 掛起vim,回到shell,按fg可以返回vim
:scriptnames 查看vim腳本文件的位置,比如.vimrc文件,語法文件及plugin等
個(gè)人覺得能夠被經(jīng)常用到的也就這么多,如果以后發(fā)現(xiàn)還有其他命令,就再補(bǔ)充吧。。。