這些實用的Vi命令是自己在用vi學習編程過程中經常用到的,於是就將稍微總結了一下!!!^_^
命令行模式、插入模式與底層模式
ESC鍵使我們能夠在各種模式之間相互切換。
命令行模式
拷貝與粘貼
1、yy --- 複製當前光標所在的這一行
2、[n]yy --- 複製當前光標開始的n行
3、p(小寫)--- 用於將複製的內容粘貼到光標所在行的下一行
4、P(大寫)--- 用於將複製的內容粘貼到光標所在行的上一行
刪除
1、x --- 刪除當前光標所在的一個字符
1*、[n]x --- 刪除當前光標以及其後的n 個字符
2、dd --- 刪除當前光標所在行,並把刪除的行存在剪切板裏,可用p進行粘貼
3、[n]dd --- 刪除當前光標所在行開始的n行
簡單的移動光標
1、G --- 光標移動到文件尾(大寫)
2、0 --- 數字零,到行首
3、$ --- 到本行行尾
4、^ --- 到本行第一個不是blank字符的位置(空字符:空格、Tab、回車等)
5、g_ --- 到本行最後一個不是blank字符的位置
6、/name --- 查找光標之後的名爲"name"的字符串
Undo/Redo
1、u --- 取消前一個動作(小寫)
2、Ctrl+r --- Redo
各種插入模式
1、a --- 在光標後插入
2、o --- 在當前行後插入一個新行(小寫)
3、O --- 在當前行前插入一個新行(大寫)
4、cw --- 替換從光標所在位置後到一個單詞結尾的字符
5、i --- 在光標的當前位置插入
6、s --- 刪除當前光標所在字符,並且插入
底層模式
打開、退出與保存
1、:q --- 退出vi(會有相應的提示)
2、:q! --- 強行退出(對修改不保存)
3、:wq --- 保存後退出
4、:w --- 保存不退出
5、:w[filename] 另存爲filename的文件
6、:e<path/to/file> 打開一個文件 (試過,但沒有成功)
7、:saveas <path/to/file> 另存爲<path/to/file>
8、:x --- 僅在需要時保存
9、ZZ --- 保存並退出
10、:qa! --- 強行退出所有的正在編輯的文件
11、:bn和:bp --- 同時打開多個文件,並用來相互切換
(沒有成功打開多個文件,但是用vi打開多個文件後,可用以文件之間相互切換)
12、:n 到下一文件
設置行號
1、:set nu --- 顯示行號
2、:set nonu --- 取消行號
vi中重複的命令
1、. --- (小數點) 可以重複上一次的命令(此命令是指在屏幕上最後一次輸入的字符)
2、N(command) --- 重複某個命令N次(N是數字)
在行之間跳轉
1、:N(N爲數字) --- 可以將光標跳到第N行的行首
2、NG(N爲數字) --- 跳到第N行的行首(同1)
3、gg --- 跳到第一行
4、G --- 跳到最後一行
5、按單詞移動
A)w --- 到下一個單詞的開頭(注意大寫的W 和 E)
B)e --- 到下一個單詞的結尾
在語句塊之間移動
1、% --- 匹配括號移動,包括(、{、[;
2、* 和 # --- 匹配光標當前所在的單詞,移動光標到下一個(*) 和 上一個(#)匹配單詞
翻頁命令
1、Ctrl+f 向前翻整頁 (forward)
2、Ctrl+b 向後翻整頁 (backward)
3、Ctrl+u 向前翻半頁
4、Ctrl+d 向後翻半頁