vim,源自vi的強(qiáng)大文本編輯器,以其高度可定制性和豐富的功能而聞名,尤其在程序員群體中廣受歡迎。它不僅能高效創(chuàng)建和修改各種文本,更具備代碼補(bǔ)全、編譯和錯(cuò)誤跳轉(zhuǎn)等編程輔助功能。然而,Vim獨(dú)特的模式系統(tǒng)也常常令初學(xué)者感到困惑。
Vim擁有6種基本模式和5種派生模式:
Vim啟動(dòng)后的默認(rèn)模式,用于執(zhí)行編輯命令,例如移動(dòng)光標(biāo)、刪除文本等。Vim強(qiáng)大的編輯能力主要源于其豐富的普通模式命令,許多命令需要操作符結(jié)尾。例如,“dd”刪除當(dāng)前行,“d”后可接其他移動(dòng)命令,如“dj”刪除當(dāng)前行和下一行。“2dd”則相當(dāng)于重復(fù)“dd”兩次。 從普通模式,可以通過“a” (append) 或 “i” (insert) 鍵進(jìn)入插入模式。
大多數(shù)按鍵在此模式下插入文本。 按下ESC鍵返回普通模式。
類似普通模式,但移動(dòng)命令會(huì)高亮選中文本區(qū)域(字符、行或塊)。非移動(dòng)命令作用于該高亮區(qū)域。Vim的“文本對(duì)象”也適用。
類似無模式編輯器,用鼠標(biāo)或光標(biāo)鍵選擇文本。輸入任何字符會(huì)替換選擇文本并進(jìn)入插入模式。
輸入并執(zhí)行命令(例如“:”、“/”、“?”和“!”)。執(zhí)行后返回之前的模式(通常為普通模式)。
類似命令行模式,可在執(zhí)行“:visual”命令離開前執(zhí)行多條命令。
在普通模式下執(zhí)行操作命令后等待“動(dòng)作”完成命令。 “文本對(duì)象”(如“aw”一個(gè)單詞,“as”一個(gè)句子,“ap”一個(gè)段落)也可作為動(dòng)作。 例如,“d2as”刪除當(dāng)前和下一個(gè)句子,“apU”將當(dāng)前段落字母大寫。
在插入模式下按Ctrl+o進(jìn)入,臨時(shí)進(jìn)入普通模式,執(zhí)行命令后返回插入模式。
插入模式下按Ctrl+o并開始可視選擇,取消選擇后返回插入模式。
插入模式下鼠標(biāo)拖拽或Shift+方向鍵進(jìn)入,取消選擇后返回插入模式。
特殊的插入模式,輸入字符覆蓋現(xiàn)有字符。在普通模式下按“R”鍵進(jìn)入。
特殊的GUI模式,盡量模擬無模式編輯器,自動(dòng)進(jìn)入并停留在插入模式,使用菜單、鼠標(biāo)和控制鍵操作。 通過“evim”或“vim -y”命令啟動(dòng),或在Windows系統(tǒng)中點(diǎn)擊圖標(biāo)啟動(dòng)。
學(xué)習(xí)Vim并非易事,需要耐心和持續(xù)練習(xí)。 切勿期望速成,循序漸進(jìn)的學(xué)習(xí)方法更為有效:
- 掌握Insert/Normal模式下的基本編輯 (五個(gè)命令:i,x,:wq,dd,p)
- 學(xué)習(xí)更多命令 (插入模式、光標(biāo)移動(dòng)、復(fù)制/粘貼、撤銷/重做、打開/保存/退出/文件切換)
- 學(xué)習(xí)技巧型命令 (更高效的操作)
- 學(xué)習(xí)高級(jí)功能 (例如宏)
(以下內(nèi)容與原文重復(fù),故省略)