Vim操作指南
-
基本模式
-
普通模式
-
插入模式
-
可視模式
-
選擇模式
-
命令行模式
-
Ex模式
-
-
派生模式
-
操作符等待模式
-
插入普通模式
-
插入可視模式
-
插入選擇模式
-
替換模式
-
h:左
j:下
k:上
l:右
2.插入模式和退出VIM的方法
ls:顯示當(dāng)前路徑下的文件
vi+文件名:打開文件,默認(rèn)進(jìn)入普通模式,可以使用1中所述的方向鍵,此時按i,即進(jìn)入插入模式(左下角可以看見INSERT字樣)。
退出插入模式:按esc,退回普通模式。
進(jìn)入插入模式的各種方法:
| i | 在光標(biāo)的前面進(jìn)入插入模式 |
| I | 在光標(biāo)所在行的行首進(jìn)入插入模式 |
| a | 在光標(biāo)的后面進(jìn)入插入模式 |
| A | 在光標(biāo)所在行的行尾進(jìn)入插入模式 |
| o | 在光標(biāo)所在行的下方插入空行并進(jìn)入插入模式 |
| O | 在光標(biāo)所在行的上方插入空行并進(jìn)入插入模式 |
| s | 刪除光標(biāo)指定的字符并進(jìn)入插入模式 |
| S | 將光標(biāo)所在行清除并進(jìn)入插入模式 |
:q!:強制退出,不修改
:wq:保存退出
3.刪除命令、數(shù)字的奧義、撤銷和恢復(fù)命令
-
刪除命令
1.在普通模式下,刪除單一字符可以用x命令
2.刪除更多字符可以使用d命令(delete),使用方法:d+motion
| 0 | 將光標(biāo)定位到行首的位置 |
| ^ | 同上 |
| $ | 將光標(biāo)移動到行位的位置 |
| b | 將光標(biāo)定位到光標(biāo)所在單詞的起始處 |
| e | 將光標(biāo)定位到光標(biāo)所在單詞的結(jié)尾處 |
| w | 將光標(biāo)定位到下一個單詞的起始處 |
| gg | 將光標(biāo)定位到文件的開頭 |
| G | 將光標(biāo)定位到文件的末尾 |
?
| d0 | 刪除光標(biāo)從當(dāng)前位置(不包含)到該行行首的所有字符 |
| d^ | 同上 |
| d$ | 刪除從光標(biāo)當(dāng)前位置(不包含)到該行行尾的所有字符 |
| db | 刪除從光標(biāo)當(dāng)前位置(不包含)到單詞起始處的所有字符 |
| de | 刪除從光標(biāo)當(dāng)前位置(包含)到單詞結(jié)尾處的所有字符 |
| dw | 刪除從當(dāng)前位置(包含)到下一個單詞起始處的所有字符 |
| dh | 刪除光標(biāo)前邊一個字符 |
| dl | 刪除光標(biāo)指定的字符 |
| dj | 刪除光標(biāo)所在行及下一行的所有字符 |
| dk | 刪除光標(biāo)所在行以及上一行的所有字符 |
| dd | 刪除光標(biāo)所在行的所有字符 |
| dgg | 刪除光標(biāo)所在行到文件開頭的所有字符 |
| dG | 刪除光標(biāo)所在行到文件末尾的所有字符 |
-
1.數(shù)字+motion:重復(fù)多個motion
2.d+數(shù)字+motion:刪除多個motion范圍
-
撤銷
1.u表示撤銷最后一次修改
2.U表示撤銷對整行的修改
3.commend+r快捷鍵可以恢復(fù)撤銷的內(nèi)容
4.所有的刪除操作并不是真的刪除,而是存放在VIM的一個緩存區(qū)中,相當(dāng)于剪切功能
-
粘貼命令
-
在VIM下使用刪除命令,并不會直接將你的東西刪掉,而是放到VIM的寄存器中。
-
使用p命令可以將最后一次刪除的內(nèi)容粘貼到光標(biāo)之后(大寫的P可以粘貼到光標(biāo)之前)
-
注意:
-
如果粘貼的是整行,p命令將在光標(biāo)下一行粘貼
-
如果粘貼的是局部字符串,p命令將在光標(biāo)后開始粘貼
-
-
-
拷貝命令
-
VIM用y(yank)命令實現(xiàn)拷貝:y[數(shù)字] motion
-
yy:拷貝當(dāng)前行
-
-
-
替換命令
-
r命令用于替換光標(biāo)所在的字符,做法是先將光標(biāo)移動到需要替換的字符出,按一下r鍵,然后輸入新的字符
-
在鍵入r命令前輸入數(shù)字,表示從光標(biāo)處開始,將多個字符統(tǒng)一替換為新字符
-
R命令直接進(jìn)入替換模式
-
-
修改命令
-
修改和替換是不一樣的,修改會進(jìn)入插入模式,替換不會進(jìn)入插入模式
-
VIM用c命令實現(xiàn)修改:c[數(shù)字]motion
-
-
control+g:顯示文件信息
-
跳轉(zhuǎn)
-
行號+G
-
:行號
-
-
定位括號
-
按下%鍵,快速找到另一半括號
-
-
縮進(jìn)(按C語言風(fēng)格縮進(jìn))
-
>>右縮進(jìn),<<左縮進(jìn),數(shù)字+縮進(jìn)符可以實現(xiàn)多行縮進(jìn)
-
按下v進(jìn)入可視模式,按hjkl選擇行,然后按下>
-
-
搜索命令
| 搜索方向 | 從光標(biāo)開始向后 | 從光標(biāo)開始向前 |
| n | 向后搜索下一個 | 向前搜索下一個 |
| N | 向前搜索下一個 | 向后搜索下一個 |
-
-
-
十個特殊的字符
-
. * [ ] ^ % / ? ~ $ 不能直接搜索這十個字符,要加\轉(zhuǎn)義
-
-
替換命令
-
:s/old/new
-
表示將光標(biāo)所在行的第一個old替換為new
-
-
:s/old/new/g
-
表示將光標(biāo)所在行的所有old替換為new
-
-
:%s/old/new/g
-
表示將整個文件中的所有old替換為new
-
-
:%s/old/new/gc
-
同上,但會在每次替換之前先請示
-
-
:5,13s/old/new/g
-
表示替換第5行到第13行中所有的old為new
-
-
-
執(zhí)行shell命令
-
:!
-
-
文件另存為
-
:w 文件名
-
-
局部內(nèi)容另存為
-
1.進(jìn)入可視模式
-
2.:w 文件名
-
-
合并文件
-
:r 文件名
-
-
打開多個文件
-
-o 垂直并排
-
-O 水平并排
-
用control+w+w將光標(biāo)切換到下一個文件
-
對于垂直并排的文件:使用control+w+上下方向
-
對于水平并排的文件:使用control+w+左右方向
-
:qa 退出全部文件
-
:wqa 保存全部修改
-
:qa! 忽略全部修改
-
轉(zhuǎn)載于:https://www.cnblogs.com/annika/p/8998011.html
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
- 上一篇: 骁龙870/888+全都有!魅族18X/
- 下一篇: hdu 6168 Numbers