基本上 vi/vim 共分為三種模式柠辞,分別是命令模式(Command mode)范舀,輸入模式(Insert mode)和底線命令模式(Last line mode)峭拘。
vim打開多個文件:vim 文件1 文件2
-
命令模式:
用戶剛剛啟動 vi/vim阴绢,便進(jìn)入了命令模式版扩。
此狀態(tài)下敲擊鍵盤動作會被Vim識別為命令喘垂,而非輸入字符甜刻。比如我們此時按下i,并不會輸入一個字符王污,i被當(dāng)作了一個命令罢吃。
以下是常用的幾個命令:
命令 | 作用 |
---|---|
i | 切換到輸入模式,是從光標(biāo)當(dāng)前位置開始輸入 |
a | 切換到輸入模式昭齐,是從光標(biāo)所在位置的下一個位置開始輸入 |
o | 切換到輸入模式尿招,是插入新的一行,從行首開始輸入 |
x | 刪除當(dāng)前光標(biāo)所在處的字符 |
: | 切換到底線命令模式,以在最底一行輸入命令 |
/text | 查找text就谜,按n健查找下一個怪蔑,按N健查找前一個 |
$ | 光標(biāo)移動到行尾 |
^ | 光標(biāo)移動到本行第一個非空白字符上 |
gg | 光標(biāo)移動到首行 |
G | 光標(biāo)移動到末行 |
數(shù)字 G | 光標(biāo)移動到指定行 |
數(shù)字 ↑ / 數(shù)字 ↓ | 光標(biāo)向上/向下移動指定行 |
yy | 復(fù)制整行 |
數(shù)字 yy | 復(fù)制多行 |
p | 粘貼至光標(biāo)下一行 |
dd | 剪切當(dāng)前行,下一行自動上移 |
數(shù)字 dd | 剪切多行 |
D | 剪切當(dāng)前行丧荐,下一行不上移 |
ddp | 剪切當(dāng)前行并粘貼缆瓣,可實(shí)現(xiàn)當(dāng)前行和下一行調(diào)換位置 |
d$ | 刪除當(dāng)前字符至行尾 |
d^ | 刪除當(dāng)前字符之前至行首 |
:u / u | 撤銷 |
>> | 向右縮進(jìn) |
<< | 取消縮進(jìn) |
-
底線命令模式
在命令模式下按下:(英文冒號)就進(jìn)入了底線命令模式。
命令 | 作用 |
---|---|
:w | 保存 |
:w 路徑 | 另存為 |
:wq | 保存并退出vim |
:q | 退出程序 |
:q! | 不保存強(qiáng)制退出vim |
:x | 文件沒有修改虹统,直接退出弓坞;文件被修改三痰,表示保存并退出 |
:e! | 放棄所有修改摆寄,并打開原來文件 |
:s/搜索的關(guān)鍵詞/新的內(nèi)容 | 替換光標(biāo)所在行的第一處符合條件的內(nèi)容 |
:s/搜索的關(guān)鍵詞/新的內(nèi)容/g | 替換光標(biāo)所在行全部符合條件的內(nèi)容 |
:%s/搜索的關(guān)鍵詞/新的內(nèi)容 | 替換整個文檔中每一行第一處符合條件的內(nèi)容 |
:%s/搜索的關(guān)鍵詞/新的內(nèi)容 | 替換整個文檔中所有符合條件的內(nèi)容 |
:set nu | 臨時顯示行號 |
:files | 查看當(dāng)前已經(jīng)打開的文件名稱 |
:open 已經(jīng)打開的文件名 | 打開多個文件時笋籽,切換到指定文件 |
:bn | 打開多個文件時觉啊,切換到下一個文件 |
:bp | 打開多個文件時纬乍,切換到上一個文件 |
-
編輯模式
在命令模式下按下i就進(jìn)入了輸入模式佳恬。