學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

Linux系統(tǒng)中vi命令的詳細(xì)解釋

時(shí)間: 佳洲1085 分享

  在Linux系統(tǒng)中,vi編輯器是個(gè)功能強(qiáng)大的富文本編輯器,那么下面由學(xué)習(xí)啦小編為大家整理了linux系統(tǒng)中vi命令的詳細(xì)解釋的相關(guān)知識(shí),希望對(duì)大家有幫助!

  Linux系統(tǒng)中vi命令的詳細(xì)解釋

  vi命令

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

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

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

  Ctrl+u:向文件首翻半屏;

  Ctrl+d:向文件尾翻半屏;

  Ctrl+f:向文件尾翻一屏;

  Ctrl+b:向文件首翻一屏;

  Esc:從編輯模式切換到命令模式;

  ZZ:命令模式下保存當(dāng)前文件所做的修改后退出vi;

  :行號(hào):光標(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)所在位置開(kāi)始向文件尾部查找指定字符串的內(nèi)容,查找的字符串會(huì)被加亮顯示;

  ?name:文本查找操作,用于從當(dāng)前光標(biāo)所在位置開(kāi)始向文件頭部查找指定字符串的內(nèi)容,查找的字符串會(huì)被加亮顯示;

  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í)行存盤(pán)退出操作;

  :w:在命令模式下,執(zhí)行存盤(pán)操作;

  :w!:在命令模式下,執(zhí)行強(qiáng)制存盤(pán)操作;

  :q:在命令模式下,執(zhí)行退出vi操作;

  :q!:在命令模式下,執(zhí)行強(qiáng)制退出vi操作;

  :e文件名:在命令模式下,打開(kāi)并編輯指定名稱的文件;

  :n:在命令模式下,如果同時(shí)打開(kāi)多個(gè)文件,則繼續(xù)編輯下一個(gè)文件;

  :f:在命令模式下,用于顯示當(dāng)前的文件名、光標(biāo)所在行的行號(hào)以及顯示比例;

  :set number:在命令模式下,用于在最左端顯示行號(hào);

  :set nonumber:在命令模式下,用于在最左端不顯示行號(hào);

  語(yǔ)法

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

  選項(xiàng)

  +<行號(hào)>:從指定行號(hào)的行開(kāi)始先是文本內(nèi)容;

  -b:以二進(jìn)制模式打開(kāi)文件,用于編輯二進(jìn)制文件和可執(zhí)行文件;

  -c<指令>:在完成對(duì)第一個(gè)文件編輯任務(wù)后,執(zhí)行給出的指令;

  -d:以diff模式打開(kāi)文件,當(dāng)多個(gè)文件編輯時(shí),顯示文件差異部分;

  -l:使用lisp模式,打開(kāi)“lisp”和“showmatch”;

  -m:取消寫(xiě)文件功能,重設(shè)“write”選項(xiàng);

  -M:關(guān)閉修改功能;

  -n:不實(shí)用緩存功能;

  -o<文件數(shù)目>:指定同時(shí)打開(kāi)指定數(shù)目的文件

  ; -R:以只讀方式打開(kāi)文件;

  -s:安靜模式,不現(xiàn)實(shí)指令的任何錯(cuò)誤信息。

  參數(shù)

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

  Linux系統(tǒng)中vi命令的基本操作

  vi的基本操作

  a) 進(jìn)入vi

  在系統(tǒng)提示符號(hào)輸入vi及文件名稱后,就進(jìn)入vi全屏幕編輯畫(huà)面:

  $ vi myfile

  不過(guò)有一點(diǎn)要特別注意,就是您進(jìn)入vi之后,是處于「命令行模式(command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。初次使用vi的人都會(huì)想先用上下左右鍵移動(dòng)光標(biāo),結(jié)果電腦一直嗶嗶叫,把自己氣個(gè)半死,所以進(jìn)入vi后,先不要亂動(dòng),轉(zhuǎn)換到「插入模式(Insert mode)」再說(shuō)吧!

  b) 切換至插入模式(Insert mode)編輯文件

  在「命令行模式(command mode)」下按一下字母「i」就可以進(jìn)入「插入模式(Insert mode)」,這時(shí)候你就可以開(kāi)始輸入文字了。

  c) Insert 的切換

  您目前處于「插入模式(Insert mode)」,您就只能一直輸入文字,如果您發(fā)現(xiàn)輸錯(cuò)了字!想用光標(biāo)鍵往回移動(dòng),將該字刪除,就要先按一下「ESC」鍵轉(zhuǎn)到「命令行模式(command mode)」再刪除文字。

  d) 退出vi及保存文件

  在「命令行模式(command mode)」下,按一下「:」冒號(hào)鍵進(jìn)入「Last line mode」,例如:

  : w filename (輸入 「w filename」將文章以指定的文件名filename保存)

  : wq (輸入「wq」,存盤(pán)并退出vi)

  : q! (輸入q!, 不存盤(pán)強(qiáng)制退出vi)

  3、命令行模式(command mode)功能鍵

  1). 插入模式

  按「i」切換進(jìn)入插入模式「insert mode」,按"i"進(jìn)入插入模式后是從光標(biāo)當(dāng)前位置開(kāi)始輸入文件;

  按「a」進(jìn)入插入模式后,是從目前光標(biāo)所在位置的下一個(gè)位置開(kāi)始輸入文字;

  按「o」進(jìn)入插入模式后,是插入新的一行,從行首開(kāi)始輸入文字。

  2). 從插入模式切換為命令行模式

  按「ESC」鍵。

  3). 移動(dòng)光標(biāo)

  vi可以直接用鍵盤(pán)上的光標(biāo)來(lái)上下左右移動(dòng),但正規(guī)的vi是用小寫(xiě)英文字母「h」、「j」、「k」、「l」,分別控制光標(biāo)左、下、上、右移一格。

  按「ctrl」+「b」:屏幕往"后"移動(dòng)一頁(yè)。

  按「ctrl」+「f」:屏幕往"前"移動(dòng)一頁(yè)。

  按「ctrl」+「u」:屏幕往"后"移動(dòng)半頁(yè)。

  按「ctrl」+「d」:屏幕往"前"移動(dòng)半頁(yè)。

  按數(shù)字「0」:移到文章的開(kāi)頭。

  按「G」:移動(dòng)到文章的最后。

  按「$」:移動(dòng)到光標(biāo)所在行的"行尾"。

  按「^」:移動(dòng)到光標(biāo)所在行的"行首"

  按「w」:光標(biāo)跳到下個(gè)字的開(kāi)頭

  按「e」:光標(biāo)跳到下個(gè)字的字尾

  按「b」:光標(biāo)回到上個(gè)字的開(kāi)頭

  按「#l」:光標(biāo)移到該行的第#個(gè)位置,如:5l,56l。

  4). 刪除文字

  「x」:每按一次,刪除光標(biāo)所在位置的"后面"一個(gè)字符。

  「#x」:例如,「6x」表示刪除光標(biāo)所在位置的"后面"6個(gè)字符。

  「X」:大寫(xiě)的X,每按一次,刪除光標(biāo)所在位置的"前面"一個(gè)字符。

  「#X」:例如,「20X」表示刪除光標(biāo)所在位置的"前面"20個(gè)字符。

  「dd」:刪除光標(biāo)所在行。

  「#dd」:從光標(biāo)所在行開(kāi)始刪除#行

3636677