經(jīng)常用到的 VIM 命令

在使用 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ǔ)充吧。。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 目錄(?)[-] 關(guān)于Vim 1 Vim的幾種模式 啟動(dòng)Vim 文檔操作 光標(biāo)的移動(dòng) 1 基本移動(dòng) 2 翻屏 3 ...
    SunnyLeong閱讀 9,021評(píng)論 0 32
  • 命令歷史 以:和/開頭的命令都有歷史紀(jì)錄,可以首先鍵入:或/然后按上下箭頭來選擇某個(gè)歷史命令。 啟動(dòng)vim 在命令...
    im螞蟻閱讀 31,080評(píng)論 3 48
  • 曾經(jīng)在思科的工廠測(cè)試系統(tǒng)`KlemTest` (`SUSE`命令行模式)中使用`VI`/`VIM`超過2年半,現(xiàn)在...
    戈多在地獄閱讀 1,988評(píng)論 1 13
  • 1. vim 選擇文本,刪除,復(fù)制,粘貼 文本的選擇,對(duì)于編輯器來說,是很基本的東西,也經(jīng)常被用到,總結(jié)如下:v ...
    路癡千行閱讀 3,420評(píng)論 0 0
  • 1 最近和閨蜜小秋約會(huì),她整個(gè)人都蔫拉吧唧的,委屈的不行,第一句話就是“簡(jiǎn)直是受不了三大姑八大婆的口水攻擊,還不如...
    露露愛吃魚閱讀 362評(píng)論 0 0

友情鏈接更多精彩內(nèi)容