vim編輯器相當于Windows下的word和wps等可用來編輯文本的軟件,之所以在開發(fā)工作中需要會使用vim編輯器,是因為Vim可實現(xiàn)跨平臺編輯文本,無論在Mac,Windows上,還是服務器平臺上,配置文件大同小異,操作習慣基本相同。
和Windows下的編輯器不一樣的是,vim的基本操作都是以鍵盤命令為主。在初次使用時與日常的鼠標操作有很大的不同,但是使用習慣后,你會愛上這種帥氣且高效的編輯方式。
vim編輯器的文本操作是在不同模式下進行的。可分為normal模式或者命令模式,編輯模式(vim底部出現(xiàn)--INSERT--字符),底部命令模式(vim底部有冒號:)。
注:編輯模式和底部命令模式之間切換時,需要先按Esc回到normal模式。為解決模式切換的問題,我的習慣是,每次操作都按Esc,然后根據(jù)vim底部提示知曉當前模式。
normal模式:通過vim filename命令打開文件,進入該模式,也可叫命令模式,在此模式下,任何的鍵盤操作被視為命令,即在vim的Normal模式下,所有的鍵均為功能鍵。其他模式按Esc鍵回到該模式。
在此模式下,常用命令有:
-
光標移動:
-
h左移光標一個字符 -
l右移光標一個字符 -
k光標上移一行 -
j光標下移一行 -
^/ 數(shù)字0/home鍵 光標移動至段首 -
$/end鍵 光標移動至段尾 -
gg/{光標移至文章的開頭 - 大寫字母
G/}光標移至文章的最后 -
nG移動到第n行的行頭,n代表數(shù)字 -
w光標跳到下個字的開頭 -
b光標回到上個字的開頭 -
Ctrl+f向前翻屏 -
Ctrl+b向后翻屏 -
Ctrl+d向前翻半屏 -
Ctrl+u向后翻半屏
-
-
刪除文字:
-
x每按一次,刪除光標所在位置后面的一個字符。nx表示刪除多個字符。eg:6x表示刪除光標所在位置后面的6個字符 -
X大寫的X,每按一次,刪除光標所在位置前面的一個字符。nX表示刪除多個字符 -
dd刪除光標所在行。ndd表示刪除多行
-
-
復制、粘貼文字:
-
yy復制光標所在行到緩沖區(qū)。nyy表示復制多行。eg:6yy表示拷貝從光標所在的該行“往下數(shù)”6行文字
-
除了整行復制,還可以像Windows下一樣,選中復制。選中復制分為兩種:
1.按v進入可視化模式(vim底部出現(xiàn)--VISUAL--字符)。進入可視化模式之后,移動光標到指定位置,即選中光標開始和結(jié)束位置內(nèi)容,按y鍵,將選中內(nèi)容存到vim緩沖區(qū)。
2.按Ctrl + v進入可視化塊模式(vim底部出現(xiàn)--VISUAL BLOCK--字符),進入這個模式可以配合光標的上下左右移動,在文本中選取文本塊進行復制。
-
ppaste,將vim緩沖區(qū)內(nèi)的字符貼到光標所在位置
注:所有與
y有關的復制命令都必須與p配合才能完成復制與粘貼功能。
- 查找文字:
-
/texttext為需要查找的文本 -
n向后查找下一個 -
N向前查找下一個
-
注:替換在底部命令模式中完成
- 撤銷:
-
u撤銷上次操作
編輯模式:從normal模式按i/(小寫字母)o/(大寫字母)O等都可進入該模式,進入該模式后vim底部出現(xiàn)--INSERT--字符。在該模式下可進行文檔編輯操作,與word類似。
注:在該模式下對文檔進行編輯后,要進入底部命令模式對文檔進行保存
進入該模式的方式:
-
i在光標處插入
一個小技巧:按8,再按i,進入編輯模式,輸入=, 按兩次Esc進入命令模式,就會出現(xiàn)8個=。 這在插入分割線時非常有用,如30i+兩次Esc就插入了36個+組成的分割線。
- 小寫字母
o在光標所在行下面新建一行插入 - 大寫字母
O在光標所在行上面新建一行插入
底部命令模式:在normal模式下按冒號:,進入該模式。此時,vim底部出現(xiàn)冒號:,即可在冒號:后鍵入命令,按Enter后生效。
在此模式下,常用命令有:
-
w保存 -
q退出 -
wq保存退出 -
q!強制退出,不保存 -
set nu顯示行號 -
pwd顯示vim的工作目錄 -
w filename存入文件filename中,即另存為 -
set mouse=a可用鼠標選中文本,選中文本后,vim底部出現(xiàn)--VISUAL--字符,進入可視化模式,后與y和p配合完成復制粘貼 -
set mouse=v可用鼠標選中文本,與word類似,與鼠標右鍵配合完成復制粘貼 -
s/old/new將光標所在行第一個 old 替換為 new -
s/old/new/g將光標所在行所有 old 替換為 new -
%s/old/new/gc全文執(zhí)行替換,詢問是否替換 -
3,10s/old/new/gic將第3行到第10行內(nèi)容替換,忽略大小寫,且每個詢問是否替換