Linux vi常用編輯的命令

vi命令是UNIX操作系統(tǒng)和類UNIX操作系統(tǒng)中最通用的全屏幕純文本編輯器。Linux中的vi編輯器叫vim惠豺,它是vi的增強(qiáng)版(vi Improved),與vi編輯器完全兼容柠掂,而且實(shí)現(xiàn)了很多增強(qiáng)功能熊杨。

vi編輯器支持編輯模式和命令模式沐兵,編輯模式下可以完成文本的編輯功能别垮,命令模式下可以完成對文件的操作命令,要正確使用vi編輯器就必須熟練掌握著兩種模式的切換扎谎。默認(rèn)情況下碳想,打開vi編輯器后自動(dòng)進(jìn)入命令模式。從編輯模式切換到命令模式使用“esc”鍵毁靶,從命令模式切換到編輯模式使用“A”胧奔、“a”、“O”预吆、“o”龙填、“I”、“i”鍵。

vi編輯器提供了豐富的內(nèi)置命令岩遗,有些內(nèi)置命令使用鍵盤組合鍵即可完成扇商,有些內(nèi)置命令則需要以冒號“:”開頭輸入。常用內(nèi)置命令如下:

Ctrl+u:向文件首翻半屏宿礁;
Ctrl+d:向文件尾翻半屏案铺;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏梆靖;
Esc:從編輯模式切換到命令模式控汉;
ZZ:命令模式下保存當(dāng)前文件所做的修改后退出vi;
:行號:光標(biāo)跳轉(zhuǎn)到指定行的行首返吻;
:$:光標(biāo)跳轉(zhuǎn)到最后一行的行首姑子;
x或X:刪除一個(gè)字符,x刪除光標(biāo)后的思喊,而X刪除光標(biāo)前的壁酬;
D:刪除從當(dāng)前光標(biāo)到光標(biāo)所在行尾的全部字符次酌;
dd:刪除光標(biāo)行正行內(nèi)容恨课;
ndd:刪除當(dāng)前行及其后n-1行;
nyy:將當(dāng)前行及其下n行的內(nèi)容保存到寄存器岳服?中剂公,其中?為一個(gè)字母吊宋,n為一個(gè)數(shù)字纲辽;
p:粘貼文本操作,用于將緩存區(qū)的內(nèi)容粘貼到當(dāng)前光標(biāo)所在位置的下方璃搜;
P:粘貼文本操作拖吼,用于將緩存區(qū)的內(nèi)容粘貼到當(dāng)前光標(biāo)所在位置的上方;
/字符串:文本查找操作这吻,用于從當(dāng)前光標(biāo)所在位置開始向文件尾部查找指定字符串的內(nèi)容吊档,查找的字符串會被加亮顯示;
唾糯?name:文本查找操作怠硼,用于從當(dāng)前光標(biāo)所在位置開始向文件頭部查找指定字符串的內(nèi)容,查找的字符串會被加亮顯示移怯;
a香璃,bs/F/T:替換文本操作,用于在第a行到第b行之間舟误,將F字符串換成T字符串葡秒。其中,“s/”表示進(jìn)行替換操作;
a:在當(dāng)前字符后添加文本同云;
A:在行末添加文本糖权;
i:在當(dāng)前字符前插入文本;
I:在行首插入文本炸站;
o:在當(dāng)前行后面插入一空行星澳;
O:在當(dāng)前行前面插入一空行;
:wq:在命令模式下旱易,執(zhí)行存盤退出操作禁偎;
:w:在命令模式下,執(zhí)行存盤操作阀坏;
:wH缗:在命令模式下,執(zhí)行強(qiáng)制存盤操作忌堂;
:q:在命令模式下盒至,執(zhí)行退出vi操作;
:qJ啃蕖:在命令模式下枷遂,執(zhí)行強(qiáng)制退出vi操作;
:e文件名:在命令模式下棋嘲,打開并編輯指定名稱的文件酒唉;
:n:在命令模式下,如果同時(shí)打開多個(gè)文件沸移,則繼續(xù)編輯下一個(gè)文件痪伦;
:f:在命令模式下,用于顯示當(dāng)前的文件名雹锣、光標(biāo)所在行的行號以及顯示比例网沾;
:set number:在命令模式下,用于在最左端顯示行號蕊爵;
:set nonumber:在命令模式下辉哥,用于在最左端不顯示行號;</pre>

語法

vi(選項(xiàng))(參數(shù))

選項(xiàng)

+<行號>:從指定行號的行開始先是文本內(nèi)容在辆;
-b:以二進(jìn)制模式打開文件证薇,用于編輯二進(jìn)制文件和可執(zhí)行文件;
-c<指令>:在完成對第一個(gè)文件編輯任務(wù)后匆篓,執(zhí)行給出的指令浑度;
-d:以diff模式打開文件,當(dāng)多個(gè)文件編輯時(shí)鸦概,顯示文件差異部分箩张;
-l:使用lisp模式甩骏,打開“l(fā)isp”和“showmatch”;
-m:取消寫文件功能先慷,重設(shè)“write”選項(xiàng)饮笛;
-M:關(guān)閉修改功能;
-n:不實(shí)用緩存功能论熙;
-o<文件數(shù)目>:指定同時(shí)打開指定數(shù)目的文件福青;
-R:以只讀方式打開文件;
-s:安靜模式脓诡,不現(xiàn)實(shí)指令的任何錯(cuò)誤信息无午。

參數(shù)

文件列表:指定要編輯的文件列表。多個(gè)文件之間使用空格分隔開祝谚。

知識擴(kuò)展

vi編輯器有三種工作方式:命令方式宪迟、輸入方式和ex轉(zhuǎn)義方式。通過相應(yīng)的命令或操作交惯,在這三種工作方式之間可以進(jìn)行轉(zhuǎn)換次泽。

命令方式

在Shell提示符后輸入命令vi,進(jìn)入vi編輯器席爽,并處于vi的命令方式意荤。此時(shí),從鍵盤上輸入的任何字符都被作為編輯命令來解釋拳昌,例如袭异,a(append)表示附加命令钠龙,i(insert)表示插入命令炬藤,x表示刪除字符命令等。如果輸入的字符不是vi的合法命令碴里,則機(jī)器發(fā)出“報(bào)警聲”沈矿,光標(biāo)不移動(dòng)。另外咬腋,在命令方式下輸入的字符(即vi命令)并不在屏幕上顯示出來,例如,輸入i栗柒,屏幕上并無變化猖任,但通過執(zhí)行i命令,編輯器的工作方式卻發(fā)生變化:由命令方式變?yōu)檩斎敕绞健?/p>

輸入方式

通過輸入vi的插入命令(i)寇壳、附加命令(a)醒颖、打開命令(o)、替換命令(s)壳炎、修改命令(c)或取代命令(r)可以從命令方式進(jìn)入輸入方式泞歉。在輸入方式下,從鍵盤上輸入的所有字符都被插入到正在編輯的緩沖區(qū)中,被當(dāng)做該文件的正文腰耙。進(jìn)入輸入方式后榛丢,輸入的可見字符都在屏幕上顯示出來,而編輯命令不再起作用挺庞,僅作為普通字母出現(xiàn)晰赞。例如,在命令方式下輸入字母i选侨,進(jìn)到輸入方式宾肺,然后再輸入i,就在屏幕上相應(yīng)光標(biāo)處添加一個(gè)字母i侵俗。

由輸入方式回到命令方式的辦法是按下Esc鍵锨用。如果已在命令方式下,那么按下Esc鍵就會發(fā)出“嘟嘟”聲隘谣。為了確保用戶想執(zhí)行的vi命令是在命令方式下輸入的增拥,不妨多按幾下Esc鍵,聽到嘟聲后再輸入命令寻歧。

ex轉(zhuǎn)義方式

vi和ex編輯器的功能是相同的掌栅,二者的主要區(qū)別是用戶界面。在vi中码泛,命令通常是單個(gè)字母猾封,如a,x,r等。而在ex中噪珊,命令是以Enter晌缘;鍵結(jié)束的命令行。vi有一個(gè)專門的“轉(zhuǎn)義”命令痢站,可訪問很多面向行的ex命令磷箕。為使用ex轉(zhuǎn)義方式,可輸入一個(gè)冒號(:)阵难。作為ex命令提示符岳枷,冒號出現(xiàn)在狀態(tài)行(通常在屏幕最下一行)。按下中斷鍵(通常是Del鍵)呜叫,可終止正在執(zhí)行的命令空繁。多數(shù)文件管理命令都是在ex轉(zhuǎn)義方式下執(zhí)行的(例如,讀取文件朱庆,把編輯緩沖區(qū)的內(nèi)容寫到文件中等)盛泡。轉(zhuǎn)義命令執(zhí)行后,自動(dòng)回到命令方式椎工。

例如:
按Enter鍵
則從文件第一行至文件末尾($)將大寫I全部替換成小寫i饭于。vi編輯器的三種工作方式之間的轉(zhuǎn)換如圖所示蜀踏。

11015875-a362dc584394a4d1.jpg

mac book pro 帶bar的vim 的操作

光標(biāo)定位
G 移至行行首
nG 移至第n行行首
n+ 移n行行首
n- 移n行行首
n移n行(1表示本行)行尾 0 所行行首 所行行尾
^ 所行首字母
h,j,k,l 左移移移右移
H 前屏幕首行行首
M 屏幕顯示文件間行行首
L 前屏幕底行行首
更參考原文
移行道兩0 ^ (shift+6)行首第字符空白字符點(diǎn)區(qū)別
移行尾 $ (shift+4)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市掰吕,隨后出現(xiàn)的幾起案子果覆,更是在濱河造成了極大的恐慌,老刑警劉巖殖熟,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件局待,死亡現(xiàn)場離奇詭異,居然都是意外死亡菱属,警方通過查閱死者的電腦和手機(jī)钳榨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纽门,“玉大人薛耻,你說我怎么就攤上這事∩土辏” “怎么了饼齿?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蝙搔。 經(jīng)常有香客問我缕溉,道長,這世上最難降的妖魔是什么吃型? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任证鸥,我火速辦了婚禮,結(jié)果婚禮上勤晚,老公的妹妹穿的比我還像新娘枉层。我一直安慰自己,他們只是感情好运翼,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布返干。 她就那樣靜靜地躺著兴枯,像睡著了一般血淌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上财剖,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天悠夯,我揣著相機(jī)與錄音,去河邊找鬼躺坟。 笑死沦补,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的咪橙。 我是一名探鬼主播夕膀,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼虚倒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了产舞?” 一聲冷哼從身側(cè)響起魂奥,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎易猫,沒想到半個(gè)月后耻煤,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡准颓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年哈蝇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片攘已。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡炮赦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出样勃,到底是詐尸還是另有隱情眼五,我是刑警寧澤,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布彤灶,位于F島的核電站看幼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏幌陕。R本人自食惡果不足惜诵姜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望搏熄。 院中可真熱鬧棚唆,春花似錦、人聲如沸心例。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽止后。三九已至瞎惫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間译株,已是汗流浹背瓜喇。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歉糜,地道東北人乘寒。 一個(gè)月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像匪补,于是被迫代替她去往敵國和親伞辛。 傳聞我的和親對象是個(gè)殘疾皇子烂翰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容