vim(vi)是Linux中功能強大的編輯工具。vim有3中主要的模式:
1.normal mode:當進入vim時,默認的模式就是normal mode。在此模式下,無法輸入任何文字,不過可以利用按鍵命令來執行許多操作命令,例如移動光標位置、複製、刪除。
2.insert mode:進入vim輸入a、i、或o鍵。即可進入insert mode,此模式下可以輸入文字內容。
3.command-line mode:在norma lmode中輸入“:”即會進入command-line mode,在此模式下,可以做一些與輸入文字無關的事,例如搜索字符串、保存文件或結束編輯等。
在normal mode下:
h:將光標向左移動一格
l:將光標向右移動一格
j:將光標向下移動一格
k:將光標向上移動一格
ctrl+b:將頁面向前捲動一頁
ctrl+f:將頁面向後捲動一頁
0:將光標移到該行最前面
$:將光標移到該行的最後面
G:將光標移到最後一行的開頭
w或W:將光標移到下一個字
若輸入“w”,則標點符號如“.”,“,”,“/”等字符都被當成一個字 |
e或E:將光標移到本單字的最後一個字符;如果光標所在位置爲本單子的最後一個字符,則跳到下一個單字的最後一個字符。
若輸入“w”,則標點符號如“.”,“,”,“/”等字符都被當成一個字 |
b:將光標移到本單詞的第一個字符;如果光標所在位置爲本單詞的第一個字符,則跳到上一個單字的第一個字符。
ctrl+u:將光標向前移動半頁
ctrl+d:將光標向右移動半頁
ctrl+e:屏幕向下捲動一行,也可以說文章和光標向上捲動一行
ctrl+y:屏幕向上捲動一行,也可以說文章和光標向下捲動一行
在command-line mode下:
e 文件的路徑及名稱:打開指定文件
a:從當前光標所在的位置的下一個字符開始輸入
i:在光標所在的位置插入新輸入的字符
o:新增加的一行,並將光標移到下一行的開頭
w:文件的路徑及名稱 保存文件
q:退出vim
Vim的常用操作命令
複製文字
yy:可將光標目前所在位置的正行復制,複製時不會將文字反白顯示
nyy:其中n爲數字鍵,表示要複製的行數,若按3yy,則連同光標所在的位置的一行,與下面2行一起復制
yw:可複製光標所在位置到整個單詞結束的字符
nyw:n表示要複製的單詞數目,若按3yw,則會將目前光標所在位置到單詞結束,以及後面的2個字一起復制
p:可將複製的文字粘貼到當前光標所在的位置。若複製的是整行文字,則會將整行內容粘貼在光標所在位置的下一行
刪除文字
d:先按d鍵,放開後按←鍵,可將光標位置前一個字符刪除;按→鍵,則會將光標位置的字符刪除;按↑鍵,可將當前光標所在的行與前一行一併刪除。按↓鍵,可將當前的光標所在的行與下一行刪除。
D:可刪除一行中光標所在位置之後的所有字符。
dd:連續按2次d鍵可刪除光標所在的那一行。
dw:將光標停在某個字的第一個字符,按dw鍵時,會將此字整個刪除。如將光標置在某個字中間的字符上,則會將此字中光標後面的字符刪除。
nd:n爲數字,如按3d,再按下↑鍵,則刪除光標上方的3行,再包括本身1行,共刪除4行。若按下↓鍵,則刪除光標下方3行再包括本身1行,共4行。
ndd:若按3dd鍵,表示刪除當前光標位置的1行和下面的2行。
x:刪除光標所在位置的字符
X:刪除光標所在位置的前一個字符,與d+←鍵一樣
nx:按4x鍵,表示刪除光標位置後的3個字符和光標本身所在的字符
nX:按4X鍵,表示刪除光標位置之前的4個字符(不包括光標的字符)
查找及替換文字
/或?:當藥搜索文章中的某一個字符串時,可輸入“/”或“?”,然後在輸入要查找的字符串。例如輸入“/kuka”,然後按回車鍵,vim就會把所有的gz字符串標記起來,並自動將光標移到第一個找到的字符串上。
n:將光標移到下一個找到的字符串上
N:將光標移到上一個找到的字符串上
r:替換光標所在的位置的字符。修改內容不一定要進入insert mode,在normal mode中,只要將光標移到要更改的字符上,然後按R鍵,就可以輸入要查找的字符了。
R:連續替換光標所在的位置的字符,按Esc鍵停止替換
cc:按cc鍵可以替換光標所在的那一行
替換字符串:當要將文章中的某一個字符串全部替換時(例如將所有的temp替換成tmp),使用“:g/temp/s//tmp/g”或“:1,$stemp/tmp/g”命令,可立刻將所有的“temp”替換成“tmp”字符串。如果不是所有的“temp”字符串都要替換時,可用“:g/temp/s//tmp/gc”或“:1/,$stemp/tmp/gc”命令。則找到每一個“temp”字符串時,都會將整行顯示在屏幕的下方,可輸入“y”或“n”決定是否要替換。
顯示光標所在的行數、移到指定的行數
^g、^G:按次組合鍵,則會在最下方處顯示光標所造位置的行數,以及文章的總行數。
nG:n爲數字,若按下20G,則可將光標移到第20行。
還原
u:按此鍵就是在執行undo命令,可取消前一次的操作
^r:按此鍵就是執行redo命令,可以恢復剛纔undo的操作