Vim
是從vi
發展出來的一個文本編輯器
。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被普遍使用。和Emacs
並列成爲類Unix系統
用戶最喜歡的編輯器。
Vim的第一個版本有布萊姆
·米勒在1991年發佈。最初的簡稱是Vi IMitation,隨着功能的不斷增長,正式名稱改爲了Vi Improved。如今是在開放源代碼方式下發行的自由軟件。
對於大多數用戶來講,Vim有着一個比較陡峭的學習曲線
。這意味着開始學習的時候可能會進展緩慢,可是一旦掌握一些基本操做以後,能大幅度提升編輯效率。
一般,Vim共分爲3種模式,分別是通常模式,編輯模式,命令行命令模式。
通常模式:Vim處理文件時,已進入該文件,就是通常模式。在此模式中,經過各類命令來搜索,替換,刪除字符,刪除整行,複製|粘貼整行。
編輯模式:在通常模式中,按下i鍵便可進入編輯模式,在此模式下,能夠輸入任何字符,進行編輯操做。按下ESC鍵便可退出編輯模式回到通常模式。
通常模式轉換爲編輯模式還有幾種方法:
i inset 在當前光標所在處插入
I 當前光標所在的行首轉換爲插入操做
a append 在當前光標所在後插入
A 當前光標所在的行尾轉換爲插入操做
o 當前光標所在的下方打開一個新行
O 當前光標所在的上方打開一個新行
命令行模式:又稱爲末行模式,在通常模式下按下:或?或|就能夠將光標移動到最後一行。在此模式下,能夠讀取,存儲文件以及其餘附加功能。
通常模式中光標移動的方法:
h向左移動
l向右移動
j向下移動
k向上移動
0移動到這一行的行首
$移動到這一行的行尾
G移動到這個文件的最後一行
nG跳轉到這個文件的第n行
gg移動到這個文件的第一行至關於1G
n<Enter>光標向下移動n行
n<space>光標向右移動n個字符
w移動到下一個單詞的詞首
Ctrl+f 向文件尾部翻一屏
Ctrl+b 向文件首部翻一屏
Ctrl+d 向文件尾部翻半屏
Ctrl+u 向文件首部翻半屏
通常模式的搜索與替換:
/keyword 從光標位置開始向下搜索名爲keyword的字符串
?keyword 從光標位置開始向上搜索名爲keyword的字符串
n重複前一個搜索動做
N反向進行前一個搜索動做
:m、ns/word1/word2/g 在m和n行之間將word1替換爲word2
:一、$s/word1/word2/g 從第一行到最後一行將word1替換爲word2
:一、$s/word1/word2/gc 從第一行到最後一行將word1替換爲word2,要求確認。
通常模式刪除,複製,粘貼:
x刪除光標後面的一個字符
X刪除光標前面的一個字符
nx刪除光標後面的n個字符
dd刪除光標所在的一整行
ndd從光標開始向下刪除n列
d1G刪除光標所在位置到第一行的的數據
dG刪除光標所在位置到最後一行的的數據
d$刪除光標所在處到該行的左後一個字符
yy複製光標所在的那一行
nyy複製光標所在的向下n行
yG複製光標所在行到最後一行的內容
y1G複製光標所在行到第一行的內容
y0複製光標所在處到行首的內容
y$複製光標所在處到行尾的內容
p|P p爲將複製的內容粘貼到光標的下一行,P則爲粘貼到上一行
u (undo)撤銷最近一次操做
nu 撤銷最近n次操做
Ctrl+l 撤銷剛纔的撤銷操做
Ctrl+r重作上一次操做
. 重複執行上一條操做
命令行模式:
:w 將編輯的內容寫入到硬盤文件中
:q 離開vim
:wq 保存後離開
:set nu 顯示行號
:srt nonu 取消行號
語法高亮:
syntax on/off
搜索高亮:
:set hlsearch
:set nohlsearch
使用vim能夠打開多個窗口,在命令行模式下輸入:sp {filename} 不filename則打開此文件。
分割窗口的方法:
按Ctrl+w,在按s 水平分割
按Ctrl+w,在按v 垂直分割
按Ctrl+w,再按下j,則光標移動到下方的窗口
按Ctrl+w,再按下k,則光標移動到上方的窗口