Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被普遍使用。
vim有不少種模式,須要使用者按照本身的需求進行切換,通常咱們要用到的模式有三個:正常模式、插入模式、命令行模式。它們之間是如何切換的如圖:
html
正常模式是剛進入文件時所處的模式,在這個模式中,對文件的內容進行閱讀、刪除、複製、查找等git
按鍵 | 操做 |
---|---|
j/k | 上/下 |
h/l: | 左/右 |
按鍵 | 操做 | 備註 |
---|---|---|
dd | 刪除本行 | |
d + [數字n] + j/k/h/l | 刪除上n行/下n行/左n個字符/右n個字符 | 如:d2j:刪除上2行,不寫數字的話默認爲1 |
複製和刪除操做同樣,不過,複製操做用的是y鍵。程序員
按鍵 | 操做 |
---|---|
/關鍵詞 | 向後查找 |
?關鍵詞 | 向前查找 |
對查找結果的操做
n: 上一個結果
N: 下一個結果
注意這裏是根據查找方向而定的上下。github
進入插入模式的按鍵有不少個,在不一樣的場景中使用不一樣的按鍵,能夠提升工做效率。編程
按鍵 | 操做 |
---|---|
a/A | 在光標後 / 本行最後開始編輯 |
i/I | 在光標前 / 本行開頭開始編輯 |
o/O | 在光標下 / 上行新開一行並開始編輯 |
c/C | 刪除並開始編輯(詳細見下面說明) |
r/R | 替換一個字 / 一直替換(相似insert鍵) |
s/S | 刪除光標所在的字 / 行並開始編輯 |
我的認爲c的刪除並插入功能在實際使用中常常用到,並且能夠大大提升編輯的效率。vim
按鍵 | 操做 | 備註 |
---|---|---|
:w | 將編輯的數據寫入硬盤檔案 | 經常使用 |
:w! | 若文件屬性爲『只讀』時,強制寫入該檔案 | 可否寫入跟該檔案的檔案權限有關 |
:q | 離開 vim | 經常使用 |
:q! | 強制離開不儲存 | |
:wq | 儲存後離開 | 經常使用 |
:wq! | 強制儲存後離開 | |
ZZ | 保存並退出 | 這是大寫的 Z 喔 |
ZQ | 不保存,強制退出 | 效果等同於 :q! |
:w [filename] | 將編輯的數據儲存成另外一個檔案(相似另存新檔) | |
:r [filename] | 在編輯的數據中,讀入另外一個檔案的數據 | 即將 『filename』 這個檔案內容加到遊標所在行後面 |
:n1,n2 w [filename] | 將 n1 到 n2 的內容儲存成 filename 這個檔案。 | |
:! command | 暫時離開 vi 到指令行模式下執行 command 的顯示結果 | 如:! ls /home |
vim還有可視(Visual)、選擇(Select)、Ex模式,假如要繼續學習的話,須要查找更多的資料學習。
如:markdown
更多按鍵的說明以下圖所示:
編輯器