Vim入門必知必會 原


想體驗寫代碼指間行雲流水般的感覺嗎?想見識修改代碼時大刀闊斧、乾坤挪移嗎 ?如果是,那麼試着去用Vim吧 。

然他的入門曲線是較陡、較高的。第一步,需在此編輯器上生存下來。以下是我精心收集整理的入門必會命令,請務必爛熟於心,多多練習,並能達到無意識中便能使用,如此,方能登堂入室、一覽衆山。


各類命令如下 : 


光標移動定位方式 

hjkl (強例推薦使用其移動光標,但不必需) →你也可以使用光標鍵 (←↓↑→). 注: j 就像下箭頭      

0 → 數字零,到行首 

^ → 到本行第一個不是blank字符的位置(所謂blank字符就是空格,tab,換行,回車等) 

$ → 到本行行尾 

g_ → 到本行最後一個不是blank字符的位置

b → 向前移動一單詞的距離,並至單詞首 

w → 向後移動一單詞的距離,並至單詞首


ge → 向前移動一單詞的距離,並至單詞尾

e → 向後移動一單詞的距離,並至單詞尾


 )→ 向前移動一個句子 

( → 向後移動一個句子 

{ → 向前移動一個段落 

} → 向後移動一個段落 

gg → 移動到文件第一行第一個單詞首 

G → 移動到文件最後一行第一個單詞首 

f [F]c → 跳到本行後一個字符c所在處 [F表示向前] 

gd → 跳到單字(標識符、函數等)定義處 

N+[Enter] → N爲數字,光標向下移動N行 

: + N → N爲數字,光標移動到指定行 

<C-d>→屏幕向下移動半頁 

<C-u>→屏幕向上移動半頁 

<C-f> →屏幕向下移動一頁 

<C-b> →屏幕向上移動一頁 

H →移動到本屏幕第一行第一個單詞首 

M →移動到本屏幕中間第一個單詞首 

L →移動到本屏幕最後一行第一個單詞首 

z + [Enter] →當前光標所在行變爲屏幕首行 

z + [ - ] →當前光標所在行變爲屏幕尾行



插入方式 

i → 在光標前途插入 

a → 在光標後插入 

I → 在當前行首插入 

A → 在當前行尾插入 

o → 在當前行後插入一個新行 

O → 在當前行前插入一個新行



刪除、複製和粘貼 

x,X → 在一行字中,x爲向後刪除一個字符,X爲向前刪除一個字符 

dt c → 刪除從光標所在處到字符c 

dl → 刪除光標所在的字符 

yl → 複製光標所在的字符 

cl → 改變光標所在的字符 

dw → 刪除光標所在的單詞 

yw → 複製光標所在的單詞( ye ) 

cw → 改變光標所在的單詞 


dd → 刪除光標所在的一整行 

yy → 複製光標所在的一行 

cc → 改變光標所在的一行 

ndd → 刪除光標所在的向下n行 


p,P → p爲將已複製的內容在光標的下一行粘貼,P則爲粘貼在光標的上一行



可視化選擇 

v → 字符選擇,會將光標經過的地方反白選擇 

V → 行選擇 

<C-v> → 塊選擇 


y → 複製反白的地方 

d → 刪除反白的地方 


U → 變大寫 

u → 變小寫 


J → 把所有的行連接起來(變成一行) 

< 或 > → 左右縮進 


= → 自動給縮進 (陳皓注:這個功能相當強大,我太喜歡了)



搜索替換 

/pattern → 向下搜索 pattern 的字符串(陳皓注:如果搜索出多個匹配,可按n鍵到下一個) 

?pattern → 向下搜索 pattern 的字符串 

n → 向相同方向查找下一個 

N → 向相反方向查找下一個 

:n1,n2s/pattern1/pattern2/g → 在第n1行和n2行之間尋找pattern1這個字符串,並且將其替換爲pattern2. 

:1,$s/pattern1/pattern2/g → 從第一行到最後一行尋找pattern1這個字符串,並且將其替換爲pattern2. 

:1,$s/pattern1/pattern2/gc → 從第一行到最後一行尋找pattern1這個字符串,並且將其替換爲pattern2.且在替換前顯示提示字符給用戶確認是否需要替換 


r,R → 進入替換模式。r只替換光標所在那個字符一次。R會一直替換光標所在字符,直到按下Esc鍵



多文件編輯 

:bn 和 :bp → 你可以同時打開很多文件,使用這兩個命令來切換下一個或上一個文件(或用:n和:N) 

:rew 回到第一個文件 

n# → 跳到前一個文件,實現兩個文件之間相互切換 

:ls → 列出當前編輯的文件 

:bd → 關閉當前文件 

:bd! → 強制關閉當前文件 

]c → 比較兩文件不同時跳到下一個不同處 

[c → 比較兩文件不同時跳到上一個不同處



打開/保存/退出 

:e <path/to/file> → 打開一個文件 

:w → 存盤 

:saveas <path/to/file> → 另存爲 <path/to/file> 

:x, ZZ 或 :wq → 保存並退出 (:x 表示僅在需要時保存,ZZ不需要輸入冒號並回車) 

:qa → 退出所有文件   

:q! → 退出不保存 :qa! 強行退出所有的正在編輯的文件,就算文件有更改



其它 

Undo/Redo 

u → undo  

<C-r> → redo 

.→小數點,重複前一個操作 

==  → 自動給縮進光標所在行 

<C-p>或是<C-n>,自動補齊功能 

:shell → 暫時進入shell,當輸入exit時可回到vi繼續編輯



另外

輸入 :h! 試試看 

再輸入 :h 42呢?



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章