從接觸Linux到現在,也已經好幾年了,對於linux的感覺一直是分分離離,充滿了遺憾,最大的遺憾之一就是一直沒能精通vim,不能完全適應vim下的代碼開發。
最近工作中又廣泛接觸到vim的使用,我覺得有必要總結一下。
但是我又無法針對vim的所有命令使用展開敘述,反而認為針對android,或者說java的一些常用編輯相關的操作命令做一個解說更具有效性。
1.vim的三種命令模式
(1).命令模式:用於輸入命令,簡單更改
(2).插入模式:用於插入文本,修改文本
(3).末行模式:用於輸入命令,視化操作,尋找替換等
這三種模式熟悉後,顛覆了windows裡面編輯+工具列(或者功能表列)的方式,是我們進入命令介面的重要認知,經過使用之後,相信大家一定會喜歡這種操作模式的。
三種模式之間的切換方式如下:
(1).命令模式進入到插入模式:輸入文本插入命令。
文本插入命令有:i,I,a,A,o,O
(2).插入模式退出到命令模式:ESC。
(3).命令模式進入到末行模式:冒號:。
如::set nu 表示行號顯示
:set nonu 取消行號顯示
(4).末行模式退出到命令模式:Enter或者ESC。
由此我們也看出命令模式是這裡還起了一個樞紐的作用,非常重要。
2.文本插入命令
上面說到文本插入命令了,正好我們就趁勢說完。
文本插入命令主要是這幾個i,I,a,A,o,O。
i(insert) 在游標前插入文本I 在游標所在行首插入文本a(append) 在游標後插入文本A 在游標所在行尾添加文本o(open) 在游標所在行下面添加一行O 在游標所在行上面添加一行
說句實話,這幾個命令都還真是有用,必須掌握,我建議先記住小寫即可,大寫先不管,到後面熟悉之後,大寫的自然就記住了。
3.vim的退出和儲存
退出vim也是基本操作基本涉及如下幾個命令:
:q 退出vim返回到shell,若有修改未被儲存,vi在末行給出提示資訊並不退出vim到shell:q! 退出vim返回到shell,放棄未儲存的修改:wq 先儲存,然後退出vim返回到shell 和wq命令功能類似,區別是如果是檔案沒有修改的話,x不會更新檔案的修改時間,而wq則會更新檔案的修改時間,無論是否有修改。:w filename 寫入當前檔案到filename檔案
wq和x應該用的很多吧。
4.命令模式的常用操作
在命令模式最常用操作大概包括,刪除,複製,粘貼,撤銷,移動等等,我列舉幾個最常用的如下 :
dd 刪除當前1行5dd 刪除當前行向下5行x 刪除游標後字元X 刪除游標前字元yy 複製當前1行5yy 複製當前行向下5行p 粘貼u 撤銷hjkl 向左下上右方向移動游標^ 游標移動到本行行首$ 游標移動到本行行尾gg 跳到檔案首行5gg 跳到第5行G 跳到檔案尾行Ctrl + f 向後滾一頁。Ctrl + d 向後滾半頁。Ctrl + b 向前滾一頁。Ctrl + u 向前滾半頁。Ctrl + e 螢幕向下滾一行。Ctrl + y 螢幕項上滾一行。
上述命令是我們編輯檔案經常使用的一些操作,必須掌握,非常有用。
5.尋找替換
/android 尋找android,然後如果按n,表示向下尋找,如果按N,表示向上尋找?android 尋找android,然後如果按n,表示向上尋找,如果按N,表示向下尋找shift+8 向後搜尋當前游標指向的單詞shift+3 向前搜尋當前游標指向的單詞 :%s/old/new/g 將編輯器的緩衝區的"old"替換為new:19,20s/old/new/g 將檔案的19到20行的的"old"替換為new
用vim尋找和替換還是挺方便的。
6.小結
差不多,上述是vim編輯器的基本用法,今天寫在這裡,做一總結,同時與大家共勉。