vim的使用總結
接觸vim編輯器已近一年的時間,但老是半蹴不蹴;最近老是在終端轉悠,就將vim的簡單使用做一個總結。畢竟,自己不能再忘了這些按鍵特點。
vim是一款相當優秀的終端環境下的程序編輯器。首先,要說的是vim的三種模式:一般模式、編輯模式和指令模式。
一般模式:可以移動光標,刪除、選擇、復制和粘貼等操作。
編輯模式:輸入”i、o、a、r“即進入編輯模式。其中,輸入”i、o、a“進入的是插入模式,這和在圖形界面環境下的編輯器操作類似,只是初始情況下光標的位置有所區別;輸入”r“那是替換模式,即替換光標所在的字符。
指令模式:在一般模式下,輸入”:、/、?“即可將光標移動到終端的最底部。此時,你可以輸入vim設定的相關配置指令。由於終端下沒有圖形界面那樣的各類按鈕,所以只能以指令的形式來實現文件的保存、打開新文件等操作。當然,還有vim的配置。
注意事項:vim三種模式的轉換,只能由一般模式<->編輯模式和一般模式<->命令模式之間跳轉。想當初,自己第一次打開vim亂按進入編輯模式,結果怎麼都不知道如何跳轉出來。最後還是強制關閉終端。
使用vim的體驗是:一旦你熟練掌握其中的大部分使用技巧,你會無法自拔;或許,你再也不能適應其他的文本編輯器。當然,要是vim具備一定能力的自動填充能力就更好了。
按鍵操作說明
光標的移動
hjkl->左下上右 =>我實在無法理解這樣的設定,要是和大部分游戲wdsa來移動光標該多好呀!可能是我游戲玩多了,可能是我接觸vim在後。
[ctrl]+f/b/d/u表示移動一頁或半頁。
+光標移動到非空格符的下一行;-光標移動到非空格符的上一行。
n+[space]:n表示你輸入的數字;光標會向右移動到第n個字符處。
0或[home]鍵,移動光標到光標所在行的最前面(首個字符處)。
$或[End]鍵,移動光標所在行的最後一個字符處。=>話說,[end]鍵在什麼地方?
H/M/L或者就是High、middle、low吧!即移動光標所在頁面的第一行、中間一行和最後一行。
G移動光標到文件的最後一行;nG移動到這個文件的第n行;gg移動光標到第一行;n[Enter]光標向下移動n行。
查找與替換
這些操作主要在命令模式下操作執行的。
/word word表示要查找的字符串;由光標向下處查找;?word由光標向上查找。n/N重復查找操作,N改變查找方向。
:n1,n2s/word1/word2/g 在n1和n2行之間,查找字符串word1,切用word2替換word1。
:1,$s/word1/word2/g 第一行到最後一行之間的查找替換;1,$s/word1/word2/gc 替換操作時要進行confirm處理。
刪除、復制和粘貼
x向後刪除一個字符;X向前刪除一個字符;nx連續向後刪除n個字符。
dd刪除光標所在行;ndd刪除所在光標向下的n行。
yy復制光標所在行;nyy復制所在光標向下的n行。
p將已經復制的內容在光標的下一行粘貼;P將已經復制的內容在光標的上一行粘貼。
內容選擇|塊選擇
v從光標開始向上或者向下進行選擇。 [Ctrl]+v塊選擇,用矩形的形式選擇。 y復制選擇的內容到內存中;d刪除選擇的內容。
其他一些重要命令
u撤銷前一個操作;[Ctrl]+r重復前一個操作。
一般模式進入到插入模式
i\I:i為目前光標所在處插入;I為目前所在行的第一個非空格處開始插入。
a\A:a為目前光標所在的下一個字符處插入;A從光標所在行的最後一個字符處插入。
o\O:o光標所在行的下一行插入新的一行;O光標所在行的上一行插入新的一行。
r\R:r替換光標所在字符,替換後返回到一般模式;R替換光標所在字符,知道按下[ESC]後才會退回到一般模式。
命令模式下的常用命令
文件的保存:w/w! !表示強制的意思 w+filename另存為。n1,n2 w +filename 表示將第n1-n2行的內容保存到文件filename中。
r+filename將文件filename中的內容添加到當前所編輯內容光標所在行。
! + (linux終端下命令) 暫時離開vim,執行linux終端命令,並在vim中顯示結果。=>這個是我最喜歡的功能。
q\ZZ退出vim。=>初學是一直不知道如何退出vim.