VIM常用命令——快速入門,行走江湖,vim常用命令
VIM詳細命令有很多,我們選用一些常用的入門命令,足以對付日常的代碼編輯工作了,如果日後有需要使用其他命令,再來查詢也不遲。
vim一般有3種編輯模式,分別是插入模式,正常模式(normal mode),末行模式。
以下主要是在正常模式下的操作,其他模式操作會註明相關模式
1.1 移動游標
h------>每次按下向左移動
j------>每次按下向下移動
k------>每次按下向上移動
l------>每次按下向右移動
1.2 vim的進入和退出
按<Esc>鍵,進入正常模式
然後輸入以下的幾種方式來退出
:q #不儲存並退出vim:q! #強制退出:wq #儲存檔案並退出:x #相當於:wq
1.3 文本編輯之刪除
在正常模式(Normal mode)下,可以按下 x 鍵來刪除游標所在位置的字元。
1.4 文本編輯之插入
在正常模式下進入插入模式,可以有以下幾種方法:
可以按下 i 鍵,在游標處插入文本。
按下 a 鍵,在游標後面插入文本。
按下大寫 A 鍵,在游標所在行的最後一個字元後插入文本。
1.5 文本編輯之添加
按 A 鍵,在游標所在的行的文本末尾添加
按 a 鍵,在游標所在位置後面添加
2.1 刪除類命令
輸入 dw 可以從游標處刪除至一個單詞的末尾。
2.2 關於命令和對象
許多改變文本的命令都由一個操作符和一個動作構成。
使用刪除操作符 d 的刪除命令的格式如下:
d motion
其中:
d - 刪除操作符
motion - 操作符的操作對象(在下面列出)。
一個簡短的動作列表:
w - 從當前游標位置到下一個單詞起始處,不包括它的第一個字元。
e - 從當前游標位置直到單詞末尾,包括最後一個字元。
$ - 從當前游標位置直到當前行末。
2.3 使用計數制定動作
在動作前輸入數字 n ,會使它重複 n 次。
輸入 2w 使游標向後移動2個單詞。
輸入 3e 使游標向後移動到第3個單詞的末尾。
輸入 0(數字零) 移動游標到行首。
2.4 使用計數以刪除更多
使用操作符時輸入數字 n ,可以使它重複 n 次。
比如: operation number(數字) motion
d2w 可以刪除2個單詞。
2.5 操作整行
輸入 dd 可以刪除一個當前行,並儲存到寄存器,作用類似“剪下”操作,可以配合 p 操作使用。
2.6 撤消類命令
輸入 u 來撤消最後執行的命令,輸入 U 來撤消對整行的修改。
使用 Ctrl + r ,可以撤消一次之前的撤消命令。
3.1 置入類命令
輸入 p 將最後一次“剪下”的內容置入游標之後。
3.2 替換類命令
移動游標到要修改的字元位置,輸入 r 和一個字元替換游標所在位置的字元。
3.3 更改類命令(c命令,即 “change” 的意思)
要更改文本直到一個單詞的末尾,請輸入 ce 。
3.4 使用c更改更多
c [number] motion
動作參數motion也是一樣的,可以是 w ,e ,$d。
4.1 定位及檔案狀態
輸入 Ctrl + g ,顯示當前編輯檔案中當前游標所在行位置以及檔案狀態資訊。
輸入大寫 G ,則直接跳到檔案最後一行。
輸入nG,可以跳到行號為n的那一行。
輸入 gg,可以跳到檔案的首行。
4.2 搜尋類命令
輸入 / 加上一個字串,可以在當前檔案中尋找該字串。要想尋找下一該字串,按 n 鍵,如要反向尋找,輸入大寫 N。
如果想逆向搜尋,輸入 ? 代替 / 。
4.3 配對括弧的尋找
定位游標在要配對的一處括弧處,輸入 % 可以尋找與之配對的另一處括弧 ),],}。
4.4 替換命令
輸入 :s/old/new ,可以替換一次該行 old處的字串 為 new處的字串。
輸入 :s/old/new/g,可以替換該行所有 old處的字串 為 new處的字串。
輸入 :#,#s/old/new/g ,其中#,# 代表的是替換操作的起始行和結束行的行號。
輸入 :%s/old/new/g ,則是替換整個檔案中的每個匹配串。
輸入 :%s/old/new/gc ,會找到整個檔案中的每個匹配字串,並且對每個匹配字串提示是否進行替換。
5.1 在 VIM 內執行外部命令的方法
輸入 :! 然後緊接著輸入一個外部命令可以執行該外部命令。
例如, :!ls + 斷行符號,該命令就是列舉處您目前的目錄的內容。
5.2 關於儲存檔案的更多資訊
要將對檔案的改動儲存到檔案中,請輸入 :w 檔案名稱。
5.3 一個具有選擇性的儲存命令
通過按下 v 鍵選擇要儲存檔案的部分內容,然後輸入 :w 檔案名稱,即可將選擇的內容儲存到目標檔案。
5.4 提取和合并檔案
要向當前檔案中插入另外的檔案的內容,請輸入 :r 檔案名稱。
6.1 開啟類命令
輸入 o ,將在游標的下方開啟新的一行並進入插入模式。
輸入大寫 O ,將在游標的上方開啟新的一行,並進入插入模式。
6.2 另外一個置換類命令的版本
輸入大寫的 R ,可以連續替換多個字元。
6.3 複製粘貼文本
使用操作符 y 複製文本,使用 p 粘貼文本。
輸入 yy ,將複製游標所在行。
可以配合動作參數motion使用:
輸入 yw,複製一個單詞。