VI常用M命令----30分鐘掌握

ptjs 12年前發布 | 1K 次閱讀 5.2.1版本發布

一、移動光標

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(從當前光標到單詞/單字末尾,不包括空格)和$(從當前光標到當前行末)。

 本文由用戶 ptjs 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!