參考內容
Learning Vim The Pragmatic Way
《鳥哥的 Linux 私房菜》
Vim 可以認爲是 Vi 的高級版本,Vim 可以用顏色或下劃線的方式來顯示一些特殊信息,您可以認爲 Vi 是一個文本處理工具,而 Vim 是一個程序開發工具,現在大部分 Linux 的發行版都以 Vim 替換 Vi 了。在 Linux 命令行模式下有很多編輯器,但是 Vi 文本編輯器是所有 Unix-like 系統都會內置的,因此學會 Vi/Vim 的使用時非常有必要的,對於 Vi 的三種模式(命令模式、編輯模式、命令行模式)這裏就不在做說明了,下面是一些比較常用的命令。
一般命令模式下
命令 | 說明 |
---|---|
h、j、k、l | 與鍵盤的方向鍵一一對應,分別爲左、下、上、右,在鍵盤上着幾個字母是排在一起的 |
Ctrl+f、Ctrl+b | 分別對應鍵盤的「Page Down」、「Page Up」,我更習慣於這兩個鍵,而不是前面的組合鍵 |
0、$ | 分別對應鍵盤的「Home」、「End」,即移動到該行的最前面/後面字符處 |
n<Enter> | n 爲數字,光標向下移動 n 行 |
/word、?word | 向光標之上/下尋找一個字符串名稱爲 word 的字符串 |
n、N | 如果我們剛剛執行了上面上面的 /word 或 ?word 查找操作,那麼 n 則表示重複前一個查找操作,可以簡單理解爲向下繼續查找下一個名稱爲 word 的字符串,N 則與 n 剛好相反 |
:n1,n2s/word1/word2/g | 在第 n1 行與 n2 行之間尋找 word1 這個字符串,並將這個字符串替換爲 word2,如果前面的 n1,n2 使用 1,$ 代替則表示從第一行到最後一行,最後的 g 後面可以加個 c,即 :1,$s/word1/word2/gc,這樣就會在替換錢顯示提示字符給用戶確認(confirm) |
x、X | 分別對應鍵盤的「Del」、「Backspace」鍵 |
dd、yy | 刪除/複製光標所在的那一整行 |
p、P | p 將已複製的數據在光標下一行粘貼,P 粘貼在光標上一行 |
u | 恢復前一個操作,類似於 Windows 下的 Ctrl+Z |
Ctrl+r | 重做上一個操作 |
. | 小數點,重複上一個操作 |
命令行模式下
命令 | 說明 |
---|---|
:w | 將編輯的數據寫入硬盤中 |
:w! | 若文件屬性爲只讀,強制寫入該文件,不過到底能不能寫入,還是跟文件權限有關係 |
:q、:q! | 與 w 一樣,q 爲關閉的意思 |
:r [filename] | 在編輯的數據中讀入另一個文件的數據,即將[filename]這個文件的內容追加到光標所在行的後面 |
:w [filename] | 將編輯的數據保存爲另一個文件 |
:set nu/nonu | 顯示/不顯示行號 |
編輯模式下
組合鍵 | 作用 |
---|---|
[ctrl]+x -> [ctrl]+n | 通過目前正在編輯的這個文件的內容文字作爲關鍵字,予以自動補全 |
[ctrl]+x -> [ctrl]+f | 以當前目錄內的文件名作爲關鍵字補全 |
[ctrl]+x -> [ctrl]+o | 以擴展名作爲語法補充,以 Vim 內置的關鍵字予以補全 |
當我們在使用 Vim 編輯器的時候,Vim 會在與被編輯的文件目錄下再建立一個名爲.filename.swp
的文件,我們對文件的操作都會記錄到這個 swp 文件中去,如果系統因爲某些原因掉線了,就可以利用這個 swp 文件來恢復內容。如果存在對應的 swp 文件,那麼 Vim 就會主動判斷當前這個文件可能有問題,會給出相應的提示。
我們也可以給 Vim 環境設置一些個性化的參數,雖然在命令行模式下可以使用:set
來設置,但是這樣每次設置實在是太麻煩,因此我們可以設置一些全局的參數。Vim 的整體設置值一般放在/etc/vimrc
中,我們一般通過修改~/.vimrc
這個文件(默認不存在)來設置一些自己的參數,比如:
" 該文件的雙引號是註釋
set nu "在每一行的最前面顯示行號
set autoindent " 自動縮進
set ruler " 可顯示最後一行的狀態
set bg=dark " 顯示不同的底色色調
syntax on "進行語法檢驗,顏色顯示,比如 C 語言等
最後附上一張命令速查卡,此圖來源於Learning Vim The Pragmatic Way,PDF 版下載鏈接在這裏。