vim操作,學(xué)會(huì)這些就可以起飛

vim的基本模式包括三種

1, 普通模式:NORMAL,默認(rèn)模式,移動(dòng)光標(biāo),復(fù)制粘貼等操作
2, 插入模式:INSERT,輸入文本
3, 命令模式:內(nèi)置的命令行接口(extended command),用于保存,退出,查找等操作

基礎(chǔ)操作

模式切換

普通模式-->插入模式:
i:insert,光標(biāo)所在處輸入
a:append,光標(biāo)之后輸入
o:新起一行輸入
I:光標(biāo)所在行行首輸入
A:光標(biāo)所在行行尾輸入
O:光標(biāo)所在行之上另起一行
-------------------
插入模式-->普通模式:
ESC
-------------------
普通模式-->命令模式
:

關(guān)閉文件

1,普通模式下:
    ZZ  保存,退出
    ZQ  不保存,退出
2,命令模式下:
    :q  退出
    :q! 強(qiáng)制退出
    :wq 保存,退出
    :x  保存,退出
    :w /path/somefile  另存為

光標(biāo)跳轉(zhuǎn)

k,j,h,l  上,下,左,右移動(dòng)一個(gè)字符
5k  上移動(dòng)5個(gè)字符
3l  右移動(dòng)5個(gè)字符
--------------------
w   下一個(gè)單詞詞首
e   當(dāng)前或下一個(gè)單詞詞尾
b   當(dāng)前或上一個(gè)單詞詞首
--------------------
0(數(shù)字0)   當(dāng)前行行首
$   當(dāng)前行行尾
^   當(dāng)前行行首非空字符
3w  向右第三個(gè)單詞詞首
--------------------
H   屏幕首行
M   屏幕中間行
L   屏幕尾行
--------------------
5G  跳轉(zhuǎn)到第五行
1G,gg  跳轉(zhuǎn)到第一行
G   跳轉(zhuǎn)到最后一行
--------------------
)   下一句
(   上一句
}   下一段
{   上一段

翻屏

ctrl+f  下翻一屏
ctrl+b  上翻一屏
ctrl+d  下翻半屏
ctrl+u  上翻半屏

編輯

x   刪除,等同于delete鍵的作用
X   刪除,等同與backspace鍵的做用
nx  刪除n個(gè)字符
~   轉(zhuǎn)換大小寫
--------------------
r   單個(gè)字符替換
R   連續(xù)字符替換
--------------------
d$  刪除到行尾
d0  刪除到行首
d^  刪除到行首非空字符
dw  刪除光標(biāo)到下一個(gè)單詞之間的部分
d3w 刪除光標(biāo)到第三個(gè)單詞之間的部分
de  刪除光標(biāo)到單詞尾的部分
dd  刪除整行
3dd 刪除3行

粘貼

p(小寫)   向右或下粘貼
P(大寫)   向左或上粘貼

復(fù)制

yy 復(fù)制整行
2yy 復(fù)制2行
y$  復(fù)制到行尾
y0  復(fù)制到行首
y^  復(fù)制到行首非空
yw  復(fù)制到下一個(gè)單詞之前(包括本單詞后的空格)
ye  復(fù)制到本單詞結(jié)尾(不包括空格)

改變

ce  刪除到單詞尾,并進(jìn)入insert模式
c$  刪除到行尾,并進(jìn)入insert模式
c0  刪除到行首,并進(jìn)入insert模式
cc  刪除整行,并進(jìn)入insert模式
3cc 刪除3行,并進(jìn)入insert模式

撤銷

u   撤銷
U   撤銷一行的所有操作
ctrl+r  反撤銷

重復(fù)

.   重復(fù)上次修改,一次修改可以是一個(gè)字符,整行或整個(gè)文件
ni- 數(shù)字+i+需要重復(fù)的字符,按esc后編輯器自動(dòng)輸入n次-字符

可視化模式

v(小寫)   按字符選定
v(大寫)   按行選定
選定后y復(fù)制,或d刪除

高級(jí)操作

多行插入

ctrl+v  進(jìn)入塊可視模式,用方向鍵或$、^等鍵選中一個(gè)塊
1,在前面添加:
I   光標(biāo)跳到第一行首位,輸入需要插入的字符后按esc,編輯器自動(dòng)把之后的所有行都進(jìn)行插入,效果等同于多光標(biāo)操作
2,在后面添加:
A ,光標(biāo)跳到第一行尾部,輸入需要添加的字符后按esc,編輯器會(huì)在選中的每一行末添加

查找替換

/ff 向下查詢ff,下一個(gè)按n,上一個(gè)按N
?ff 向上查詢ff
:s/old/new/g    在當(dāng)前行查找全部old替換為new,g為查找全部,i為忽略大小寫
:3,8s/old/new/g 從第3行到第8行進(jìn)行查找替換
:%s/old/new/g   全文查找替換

多窗口

:sp/:vsp    水平或垂直開(kāi)啟一個(gè)新窗口,后面如果不接文件名,則表示兩個(gè)窗口為同一個(gè)文件(同步顯示)
ctrl+w  再按方向鍵切換窗口

宏錄制

1,NORMAL模式下按qa 開(kāi)始錄制一個(gè)名為a的宏
2,開(kāi)始對(duì)文本進(jìn)行操作
3,按q結(jié)束宏錄制
4,@a使用宏,3@a使用3次

快速選中

vi"     選中""中的全部?jī)?nèi)容
va"     選中""中的全部?jī)?nèi)容,同時(shí)也選中""
vi}     選中{}中的全部?jī)?nèi)容

快速移動(dòng)

fa   移動(dòng)到下一個(gè)字符a處
ta   移動(dòng)到字符a的前一個(gè)字符處

快速刪除

dta   刪除到字符a的前一個(gè)字符

快速對(duì)齊

進(jìn)入塊可視模式選中目標(biāo)文本
J    把選中的文本變成一行。(J單獨(dú)使用可刪除當(dāng)前行的換行符)
<    向左縮進(jìn)
>    向右縮進(jìn)
=    自動(dòng)縮進(jìn)對(duì)齊,(這個(gè)超好用)

技巧類

zz    重繪屏幕并把當(dāng)前行顯示在窗口正中間
dip   刪除所有臨近的空白行
:nohl 搜索后用來(lái)清除高亮
ci"   改寫""中的內(nèi)容
:g/^\s*$/d    刪除文件中所有空白行
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • vi是個(gè)可視化的編輯器,可視化編輯器的含義就是在編輯文本時(shí)可以看到它們。Linux下的vim是vi的一個(gè)增強(qiáng)版本,...
    一萍之春閱讀 1,116評(píng)論 0 5
  • shell輸入重定向和輸出重定向 1.輸出重定向 下面以/etc下的passwd為例,演示不同的重定向方式。(前提...
    new_liziang閱讀 1,371評(píng)論 0 0
  • vim是什么?聽(tīng)說(shuō)它是編輯器之神!神一樣的存在,而我卻經(jīng)常用上下左右箭頭來(lái)移動(dòng)光標(biāo),實(shí)在是有點(diǎn)對(duì)不起它,所以想著稍...
    lf4jianshu閱讀 482評(píng)論 0 0
  • 1、vim 的三種模式 vim(visual interface improve) 是 vi 的升級(jí)版本,也是 l...
    月白白222閱讀 995評(píng)論 0 3
  • 推薦指數(shù): 6.0 書(shū)籍主旨關(guān)鍵詞:特權(quán)、焦點(diǎn)、注意力、語(yǔ)言聯(lián)想、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會(huì)...
    Jenaral閱讀 5,982評(píng)論 0 5

友情鏈接更多精彩內(nèi)容