一、vim編輯器的三種模式
- 命令模式:默認模式,可以進行移動光標、替換、刪除、復制、粘貼、撤銷更改。
- 插入(編輯)模式:修改文本。
- 擴展的命令模式:可以進行地址界定、搜索、搜索替換、顯示行號、引入文件內(nèi)容、另存為、執(zhí)行命令、讀入命令的輸出、保存退出等。
二、各模式之間的轉(zhuǎn)換
QQ截圖20170711162733.png
命令模式轉(zhuǎn)化為插入模式的方式:
- i:在光標所在處插入;
- I:在當前光標所在行的行首插入;
- a: 在光標所在處后面插入;
- A:在光標所在行的行尾插入;
- o:在當前光標所在行的下方打開一個新行;
- O:在當前光標所在行的上方打開一個新行。
退出
- wq:保存退出;
- wq!:強制保存退出,如果文件設置了只讀,可以強制進行修改;
- q:不存盤退出,沒有修改文件,只是讀了一下文件;
- q!:改了文件,放棄對文件的修改。
三、命令模式下進行的操作
- 光標跳轉(zhuǎn):上、下、左、右方向鍵;
- 單詞跳轉(zhuǎn):w
- 當前頁跳轉(zhuǎn):H頁首、M頁中間行、L頁底
- 行首行尾跳轉(zhuǎn): ^ 跳轉(zhuǎn)至行首的第一個非空白字符;
0:跳轉(zhuǎn)至真正的行首;$:跳轉(zhuǎn)至行尾。 - 行間移動:1G第一行;G最后一行;#G跳轉(zhuǎn)至第#行
- 替換:r
- 刪除:dd
- 復制:yy
- 粘貼:p
- 撤銷更改:u
四、擴展的命令模式下進行的操作
- 地址界定:#第#行;#,#從左側(cè)#起至右側(cè)#結尾的行;2,+3表示2到5行;. 當前行;$最后一行;%全文;/bin/,/halt/d支持正則表達式,表示以bin開始的行到以halt開始的行刪除
- 寫入文件內(nèi)容和另存為:w file將范圍內(nèi)的行另存到指定文件中;
r file 在指定位置寫入指定文件的內(nèi)容 - 搜索:/向尾部查找;?向首部查找;n:與命令同方向;N:與命令反方向,如/root 表示搜索root這個單詞
- 查找替換:s/要查找的內(nèi)容/替換為的內(nèi)容/修飾符,要查找的內(nèi)容可以使用模式,但替換為的內(nèi)容不能使用模式,但可以使用后向引用,還可以使用&引用,例如::1s/root/a&b/g 表示將root替換為arootb,&代表root
修飾符:i忽略大小寫;g:全局替換
查找替換中的分隔符可以用其他字符,如@、# - 顯示行號:set nu;取消行號:set nonu
- 和上一行自動對齊:set ai,取消set noai