VI常用M命令----30分鐘掌握
一、移動光標
Vim使用h、j、k和l鍵來移動光標。按照正式的說法,這樣可以保證雙手不離開鍵盤區域,從而提高輸入效率。這四個鍵在鍵盤上的位置為依次從左到 右,對應的方向依次為向左、向下、向上和向右。網絡上和關于Vim各種書籍、教程中都傳授給Vim新手一套記憶方法,即h在左邊,l在右邊,j指向下邊。 這種方法十分巧妙,是無數Vimmer在學習和使用過程中總結出來的。但自己有另外一點體會:我們的右手食指在鍵盤上的初始位置是j鍵,一般而言,我們在 閱讀或者編輯文檔時最常用的方向鍵就是向下,所以將j鍵設為向下鍵是最為合適的,將右邊與其相鄰的k鍵設置為向下鍵,也實現了同樣的方便。當光標需要向左 移動時,我們的右手食指也要向左移動,這兩個方向是一致的。向右鍵的使用頻率比向左鍵高一些,因此設置為無名指直接接觸的l鍵。
二、如何退出Vim
退出Vim隨編輯者的意愿不同而有兩種不同的方式:
1.不保存而退出,即強制退出。:q! <Enter>
2.保存并退出。:wq <Enter>
三、刪除類命令
1.刪除光標所在位置的字符:x。將光標置于要刪除的字符所在的位置,再按x鍵即可。
2.刪除從光標所在位置到一個單字/單詞末尾的所有字符:dw。注意:由于英文中每個單詞之間有空格但漢語中漢字之間沒有空格,而Vim中的命令對 單字/單詞的理解是以空格為界限的,所以對一行漢語執行此命令時,會將光標所在位置至光標所在行的所有字符刪除,效果與d$命令一樣。
3.刪除從光標所在位置至光標所在行末的所有字符:d$。4.刪除光標所在行的所有字符:dd。處于光標左邊的本行字符也會被刪除。
四、插入類命令
1.在光標所在位置之前插入:i。
2.在光標所在位置之后插入:a。
3.在光標所在行末尾插入:A。
五、打開類命令
1.在光標所在行的下方打開新的一行并進入插入模式:o。
2.在光標所在行的上方打開新的一行并進入插入模式:O。
六、更換類命令
1.改變從光標所在位置到光標所在單詞/單字末尾的所有字符,并進入插入模式:cw。
2.改變從光標所在位置到光標所在行的所有字符,并進入插入模式:c$。
七、替換類命令
1.替換光標所在位置的字符:r。讓光標處于將要被替換的字符所在的位置,按下r,并鍵入新的字符。
2.連續替換光標所在位置后的字符:R。
八、修正錯誤的命令之一
1.將光標所在行第一個old字符替換為new字符。:s /old/new
2.將光標所在行內所有old字符替換為new字符。:s /old/new/g
3.將兩行之間的所有old字符替換為new字符,#指行號。:#,# s /old/new/g
4.將文件內所有old字符替換為new字符。:% s/old/new/g
5.將文件內所有old字符替換為new字符,并在替換時詢問是否確認替換。:% s/old/new/gc
九、置入類命令
將最后一次刪除的內容置入光標之后:p。
十、撤銷類命令
1.撤銷最后執行的命令:u。
2.撤銷對整行的所有操作:U。
3.恢復撤銷的命令:CTRL-R。
十一、定位及獲取文件狀態
1.顯示光標所在行的位置及文件狀態信息:CTRL-g。
2.直接跳轉到指定的行:SHIFT-G。先鍵入行數,再按下SHIFT-G。
十二、查找配對括號
查找光標所在括號的配對括號:%。按下%后光標會自動跳轉到配對的括號處,再按一次,跳回到原括號處。
十三、搜索類命令
1.在當前文件中順序查找某字符串:/ 字符串。從文章的開頭開始查找。
2.在當前文件中逆向查找某字符串:? 字符串。從文章的結尾開始查找。
3.順序查找下一個:n。
4.逆向查找下一個:Shift-N。
十四、保存文件
1.將對文件的改動保存到文件中。:w FILENAME
2.保存文件的部分內容,#指行號。:#,# w FILENAME
十五、提取和合并文件
在當前文件光標所在處插入另外的文件內容。:r FILENAME
十六、在Vim內執行外部命令
:! command
十七、設置類命令
:set command
十八、命令與對象
Vim中的命令遵從一定的格式,下面以刪除命令(d)為例進行說明。
[number] d object 或者 d [number] object
number指執行命令的次數,可選,缺省設置為1。d代表刪除,是命令名。object指命令所要操作的對象。對d而言包括:w(從當前光標到單詞/單字末尾,包括空格)、e(從當前光標到單詞/單字末尾,不包括空格)和$(從當前光標到當前行末)。