基本上 vi/vim 共分為三種模式,分別是一般命令模式(Command mode),編輯模式(Insert mode)和命令行模式(Last line mode)。 命令模式: 用戶剛剛啟動 vi/vim,便進入了命令模式。 此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字元。比如我們此時按下 ...
基本上 vi/vim 共分為三種模式,分別是一般命令模式(Command mode),編輯模式(Insert mode)和命令行模式(Last line mode)。
命令模式:
用戶剛剛啟動 vi/vim,便進入了命令模式。
此狀態下敲擊鍵盤動作會被Vim識別為命令,而非輸入字元。比如我們此時按下i,並不會輸入一個字元,i被當作了一個命令。
以下是常用的幾個命令:
i 切換到輸入模式,以輸入字元。
x 刪除當前游標所在處的字元。
: 切換到底線命令模式,以在最底一行輸入命令。
若想要編輯文本:啟動Vim,進入了命令模式,按下i,切換到輸入模式。
命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。
輸入模式
在命令模式下按下i就進入了輸入模式。
在輸入模式中,可以使用以下按鍵:
字元按鍵以及Shift組合,輸入字元
ENTER,回車鍵,換行
BACK SPACE,退格鍵,刪除游標前一個字元
DEL,刪除鍵,刪除游標後一個字元
方向鍵,在文本中移動游標
HOME/END,移動游標到行首/行尾
Page Up/Page Down,上/下翻頁
Insert,切換游標為輸入/替換模式,游標將變成豎線/下劃線
ESC,退出輸入模式,切換到命令模式
底線命令模式
在命令模式下按下:(英文冒號)就進入了底線命令模式。
底線命令模式可以輸入單個或多個字元的命令,可用的命令非常多。
在底線命令模式中,基本的命令有(已經省略了冒號):
q 退出程式
w 保存文件
按ESC鍵可隨時退出底線命令模式。
常用的命令:
j k h l 與方向鍵代表了上下左右(使用n加上方向鍵或者字母鍵即可完成多次跳動)
Pageup 上翻頁
Pagedown下翻頁
n+Space鍵 代表向右跳動n下
n+Enter鍵 代表向下跳動n下
0或者Home鍵 代表回到一行的行頭
$或者End鍵 代表跳轉到一行的行尾
(常用的是home和end鍵,因為位置在一起,而且只需要按一下鍵位即可)
G 回到這個文件的最後一行
nG 回到這個文件的第n行
gg 回到這個文件的第一行,功能相當於1G
/word 在文件中查找字元為word的字元串且標註出來
:1,\(s/word1/word2/g 從第一行開始尋找到最後一行,將找到的word1替換為word2 :1,\)s/word1/word2/g 從第一行開始尋找到最後一行,將找到的word1替換為word2 ,且在取代前顯示提示字元給用戶確認 (confirm) 是否需要取代
:n1,n2s/word1/word2/g 從第n1行到n2行之間將找到的word1替換為word2
xX x向後刪除,X向前刪除
dd 刪除游標所在一整行
ndd 刪除包含本行的n行
yy 複製本行
nyy 複製包括本行的n行
pP p在游標的下一行粘貼,P在游標的上一行粘貼
u 撤銷
ctrl+r 重做上一個操作
. 就是一個單純的小數點,也是重覆前一個操作的意思
:w 保存
:w! 強制保存
:q 退出
:q! 強制退出
:wq 保存並退出
:wq! 強制保存並退出
ZZ 文件沒有修改,不保存退出,文件修改,保存退出
set nu 設置行號
set nonu 取消設置行號
:!command 暫時退出vim到命令行模式執行command的顯示結果
:n1,n2 w newfilename 將n1,n2的內容存放到newfilename中