vi vim常用操作
光標(biāo)移動
命令 | 說明 |
---|---|
w | 移動光標(biāo)到下一個單詞開頭. |
e | 移動光標(biāo)到下一個單詞結(jié)尾 |
b | 移動光標(biāo)到上一個單詞. |
0 | 移動光標(biāo)到本行最開頭. |
^ | 移動光標(biāo)到本行最開頭的字符處. |
$ | 移動光標(biāo)到本行結(jié)尾處. |
A | 移動光標(biāo)至行尾并處于“追加”狀態(tài),直接編輯 |
H | 移動光標(biāo)到屏幕的首行. |
M | 移動光標(biāo)到屏幕的中間一行. |
L | 移動光標(biāo)到屏幕的尾行. |
gg | 移動光標(biāo)到文檔首行. |
G | 移動光標(biāo)到文檔尾行. |
:n | 跳至第n行 |
ctrl + f | 向下翻頁 同 page down. |
ctrl + b | 向上翻頁 同 page up. |
ctrl + d | 向下翻半頁 此比較有用 |
ctrl + u | 向上翻半頁 此比較有用 |
ctrl + e | 向下翻一行 |
ctrl + y | 向上一行 |
[[ | 轉(zhuǎn)到上一個位于第一列的“{” |
]] | 轉(zhuǎn)到下一個位于第一列的“}” |
{ | 轉(zhuǎn)到上一個空行 |
} | 轉(zhuǎn)到下一個空行 |
'' | 兩個單引號 此命令相當(dāng)有用, 它移動光標(biāo)到上一個標(biāo)記處, 比如用 gd, * 等查找到某個單詞后, 再輸入此命令則回到上次停留的位置. |
'. | 一單一點 此命令相當(dāng)好使, 它移動光標(biāo)到上一次的修改行. |
`. | 一倒引一點 此命令相當(dāng)強大, 它移動光標(biāo)到上一次的修改點. |
替換萎河、刪除荔泳、復(fù)制蕉饼、粘貼、撤銷换可、重復(fù)
命令 | 說明 |
---|---|
rc | 用 c 替換光標(biāo)所指向的當(dāng)前字符椎椰; |
nrc | 用 c 替換光標(biāo)所指向的前 n 個字符; |
5rA | 用 A 替換光標(biāo)所指向的前 5 個字符沾鳄; |
x | 刪除光標(biāo)所指向的當(dāng)前字符慨飘; |
nx | 刪除光標(biāo)所指向的前 n 個字符; |
3x | 刪除光標(biāo)所指向的前 3 個字符译荞; |
dw | 刪除光標(biāo)右側(cè)的字瓤的; |
ndw | 刪除光標(biāo)右側(cè)的 n 個字; |
3dw | 刪除光標(biāo)右側(cè)的 3 個字吞歼; |
db | 刪除光標(biāo)左側(cè)的字圈膏; |
ndb | 刪除光標(biāo)左側(cè)的 n 個字; |
5db | 刪除光標(biāo)左側(cè)的 5 個字篙骡; |
dd | 刪除光標(biāo)所在行稽坤,并去除空隙; |
ndd | 刪除(剪切) n 行內(nèi)容糯俗,并去除空隙尿褪; |
3dd | 刪除(剪切) 3 行內(nèi)容,并去除空隙得湘; |
d$ | 從當(dāng)前光標(biāo)起刪除字符直到行的結(jié)束杖玲; |
d0 | 從當(dāng)前光標(biāo)起刪除字符直到行的開始; |
J | 刪除本行的回車符(CR)淘正,并和下一行合并摆马。 |
s | 用輸入的正文替換光標(biāo)所指向的字符; |
S | 刪除當(dāng)前行鸿吆,并進入編輯模式囤采; |
ns | 用輸入的正文替換光標(biāo)右側(cè) n 個字符; |
nS | 刪除當(dāng)前行在內(nèi)的 n 行惩淳,并進入編輯模式蕉毯; |
cw | 用輸入的正文替換光標(biāo)右側(cè)的字; |
cW | 用輸入的正文替換從光標(biāo)到行尾的所有字符(同 c$ )黎泣; |
ncw | 用輸入的正文替換光標(biāo)右側(cè)的 n 個字; |
cb | 用輸入的正文替換光標(biāo)左側(cè)的字缤谎; |
ncb | 用輸入的正文替換光標(biāo)左側(cè)的 n 個字抒倚; |
cd | 用輸入的正文替換光標(biāo)的所在行; |
ncd | 用輸入的正文替換光標(biāo)下面的 n 行坷澡; |
c$ | 用輸入的正文替換從光標(biāo)開始到本行末尾的所有字符托呕; |
c0 | 用輸入的正文替換從本行開頭到光標(biāo)的所有字符。 |
p | 小寫字母 p,將緩沖區(qū)的內(nèi)容粘貼到光標(biāo)的后面项郊; |
P | 大寫字母 P馅扣,將緩沖區(qū)的內(nèi)容粘貼到光標(biāo)的前面。 |
yy | 復(fù)制當(dāng)前行到內(nèi)存緩沖區(qū)着降; |
nyy | 復(fù)制 n 行內(nèi)容到內(nèi)存緩沖區(qū)差油; |
5yy | 復(fù)制 5 行內(nèi)容到內(nèi)存緩沖區(qū); |
“+y | 復(fù)制 1 行到操作系統(tǒng)的粘貼板任洞; |
“+nyy | 復(fù)制 n 行到操作系統(tǒng)的粘貼板蓄喇。 |
u | 撤消前一條命令的結(jié)果; |
. | 重復(fù)最后一條修改正文的命令交掏。 |
插入模式
命令 | 說明 |
---|---|
i | 在光標(biāo)左側(cè)插入正文 |
a | 在光標(biāo)右側(cè)插入正文 |
o | 在光標(biāo)所在行的下一行增添新行 |
O | 在光標(biāo)所在行的上一行增添新行 |
I | 在光標(biāo)所在行的開頭插入 |
A | 在光標(biāo)所在行的末尾插入 |
保存妆偏,退出,環(huán)境變量
命令 | 說明 |
---|---|
:w | 將編輯的數(shù)據(jù)寫入硬盤檔案中(常用) |
:w! | 若文件屬性為『只讀』時盅弛,強制寫入該檔案钱骂。不過,到底能不能寫入挪鹏, 還是跟你對該檔案的檔案權(quán)限有關(guān) |
:q | 離開 vi (常用) |
:q! | 若曾修改過檔案见秽,又不想儲存,使用 ! 為強制離開不儲存檔案狰住。 |
:wq | 儲存后離開 |
:wq! | 強制儲存后離開 |
ZZ | 若檔案沒有更動张吉,則不儲存離開,若檔案已經(jīng)被更動過催植,則儲存后離開! |
:w [filename] | 另存為 |
:r [filename] | 在編輯的數(shù)據(jù)中肮蛹,讀入另一個檔案的數(shù)據(jù)。亦即將 『filename』 這個檔案內(nèi)容加到光標(biāo)所在行后面 |
:! command | 暫時離開 vi 到指令列模式下執(zhí)行 command 的顯示結(jié)果创南!例如 『:! cat ./test』即可在 vi 當(dāng)中察看當(dāng)前文件夾中的test文件中的內(nèi)容 |
Esc | 退出插入模式伦忠,進入命令模式 |
:set nu | 顯示行號,設(shè)定之后稿辙,會在每一行的前綴顯示該行的行號,這一點昆码,非常有用,當(dāng)我們修改配置文件的時候邻储,能知道多少行赋咽,就方便多了。 |
:set nonu | 與 set nu 相反吨娜,取消行號 |