vi編輯器有3種模式:命令模式、輸入模式、末行模式。掌握這三種模式十分重要:
命令模式:vi啟動後預設進入的是命令模式,從這個模式使用命令可以切換到另外兩種模式,同時無論在任何模式下只要按一下[Esc]鍵都可以返回命令模式。在命令模式中輸入字幕“i”就可以進入vi的輸入模式編輯檔案。
輸入模式:在這個模式中我們可以編輯、修改、輸入等編輯工作,在編輯器最後一行顯示一個“--INSERT--”標誌著vi進入了輸入模式。當我們完成修改輸入等操作的時候我們需要儲存檔案,這時我們需要先返回命令模式,在進入末行模式儲存。
末行模式:在命令模式輸入“:”即可進入該模式,在末行模式中有好多好用的命令。
編輯操作
進入輸入模式命令
i插入命令 a附加命令 o開啟命令 c修改命令
r取代命令 s替換命令 Esc退出命令
輸入模式的操作
Home游標到行首(^)
End 游標到行尾($)
Page Up和Page Down上下翻頁
Delect刪除游標位置的字元
刪除操作(命令模式使用)
x刪除游標處的單個字元
dd刪除游標所在行
dw刪除當前字元到單詞尾包括空格的所有字元
#x例如3x刪除游標處向右的三個字元
#dd例如3dd從當前行開始向下刪除三行文本
刪除全部:
1.gg回到檔案開始-->dG
2.G到檔案末尾, :1,.d(“.” 代表 當前行)
3. 最後,簡化為: :1,$d
撤銷操作
u命令取消最近一次的操作,可以使用多次來恢複原有的操作
U取消所有操作
Ctrl+R可以恢複對使用u命令的操作
複製操作
yy命令複製當前整行的內容到vi緩衝區
yw複製當前游標所在位置到單詞尾字元的內容到vi緩衝區,相當於複製一個單詞
y$複製游標所在位置到行尾內容到緩衝區
y^複製游標所在位置到行首內容到緩衝區
#yy例如:5yy就是複製5行
#yw例如:2yw就是複製兩個單詞
如果要複製第m行到第n行之間的內容,可以在末行模式中輸入m,ny例如:3,5y複製第三行到第五行內容到緩衝區。
尋找和替換
vi的尋找和替換功能主要在末行模式完成:
至上而下的尋找
/ 要尋找的字元竄,其中/代表從游標所在位置起開始尋找,例如:/ work
至下而上的尋找
。要尋找的字元竄 例如:?work
替換
:s/old/new用new替換行中首次出現的old
: s/old/new/g 用new替換行中所有出現的old
:#,# s/old/new/g用new替換從第#行到第#行中出現的old
:% s/old/new/g用new替換整篇中出現的old
如果替換的範圍較大時,在所有的命令尾加一個c命令,強制每個替換需要使用者進行確認,例如:s/old/new/c 或s/old/new/gc
注釋
1.多行注釋:
1. 首先按esc進入命令列模式下,按下Ctrl + v,進入列(也叫區塊)模式; 2. 在行首使用上下鍵選擇需要注釋的多行; 3. 按下鍵盤(大寫)“I”鍵,進入插入模式; 4. 然後輸入注釋符(“//”、“#”等); 5. 最後按下“Esc”鍵。
註:在按下esc鍵後,會稍等一會才會出現注釋,不要著急~~時間很短的 2.刪除多行注釋: 1. 首先按esc進入命令列模式下,按下Ctrl + v, 進入列模式; 2. 選定要取消注釋的多行; 3. 按下“x”或者“d”.
注意:如果是“//”注釋,那需要執行兩次該操作,如果是“#”注釋,一次即可