學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux系統(tǒng)下VI編輯器的用法有哪些

Linux系統(tǒng)下VI編輯器的用法有哪些

時間: 曉斌668 分享

Linux系統(tǒng)下VI編輯器的用法有哪些

  今天小編要給大家介紹的是Linux系統(tǒng)下VI編輯器的用法,首先學(xué)習(xí)啦小編要給大家介紹下vi命令是Linux下常用而重要命令,可在全屏幕方式下編輯一個或多個文件。若在vi執(zhí)行時沒有指定一個文件,那么vi命令會自動產(chǎn)生一個無名的空的工作文件。若指定的文件不存在,那么就按指定的文件名創(chuàng)建一個新的文件。若對文件的修改不保存的話,v i命令并不改變原來文件的內(nèi)容。

  注意:vi命令并不鎖住所編輯的文件,因此多個用戶可能在同時編輯一個文件,那么最后保存的文件版本將被保留。

  下面是vi命令使用的一些選項(xiàng)及含義:

  -c sub-command 在對指定的文件編輯前,先執(zhí)行指定的命令 sub-command .

  -r filename 恢復(fù)指定的文件filename .

  -R 將指定的文件以只讀的方式放入編輯器中,這樣不會保存對文件的任何修 改。

  -y number 將編輯窗口的大小設(shè)為number行。

  下面是vi編輯所處的三種模式:

  .命令模式 進(jìn)入vi時所處的模式。在此模式下用戶可輸入各種子命令對進(jìn)行*作,如刪除行、粘貼行、移向下一個字、移向不同行等。

  .文本輸入模式 在此模式下可以修改一行的內(nèi)容并增添新行。在命令模式下鍵入a 、i 或c鍵可進(jìn)入文本輸入模式,按Escape鍵可返回命令模式。

  .命令項(xiàng)模式 在此模式下,可以通過子命令輸入更多的參數(shù)。如:w子命令要求輸入一文件名,“/”子命令要求輸入一個查找項(xiàng)。用戶使用Escape鍵返回命令模式。

  下面是自命令模式下執(zhí)行的,在同一行上移動的自命令:

  h 將光標(biāo)左移一格。

  l 將光標(biāo)右移一格。

  j 將光標(biāo)下移一格。

  k 將光標(biāo)上移一格。

  w 將光標(biāo)移到下一個小字的前面。

  W 將光標(biāo)移到下一個大字的前面。

  b 將光標(biāo)移到前一個小字的前面。

  B 將光標(biāo)移到前一個大字的前面。

  e 將光標(biāo)移到下一個小字的后面。

  E 將光標(biāo)移到前一個大字的后面。

  fc 把光標(biāo)移到同一行的下一個c字符處。

  Fc 把光標(biāo)移到同一行的前一個c字符處。

  tc 把光標(biāo)移到同一行的下一個字符c的前一格。

  Tc 把光標(biāo)移到同一行的前一個字符c的后一格。

  number| 把光標(biāo)移到遞number列上。

  下面是命令模式下在行間移動的子命令:

  +或Enter 把光標(biāo)移至下一行第一個非空白字符。

  - 把光標(biāo)移至上一行第一個非空白字符。

  0 把光標(biāo)移到當(dāng)前行的第一個字符處。

  $ 把光標(biāo)移到當(dāng)前行的最后一個字符處。

  H 把光標(biāo)移到屏幕最頂端一行。

  L 把光標(biāo)移到屏幕最底端一行。

  M 把光標(biāo)移到屏幕中間。

  下面是命令模式下改變屏幕顯示的子命令:

  z- 把當(dāng)前行作為屏幕的最后一行,并重新顯示屏幕。

  z. 把當(dāng)前行作為屏幕的中間一行,并重新顯示屏幕。

  Ctrl+l 重新顯示屏幕當(dāng)前內(nèi)容。

  /pattern/z- 尋找pattern的下一個位置,并把所在行設(shè)為屏幕的最后一行。

  下面是在命令模式下用來顯示頁面的子命令:

  Ctrl + f向后滾一頁。

  Ctrl + d向后滾半頁。

  Ctrl + b向前滾一頁。

  Ctrl + u向前滾半頁。

  Ctrl + e屏幕向下滾一行。

  Ctrl + y屏幕項(xiàng)上滾一行。

  下面是在命令模式下用來查找字符串所使用的子命令:

  /pattern 向后尋找指定的pattern ,若遇到文件尾,則從頭再開始。

  ?pattern 向前尋找指定的pattern ,若遇到文件頭,則從尾再開始。

  n 在上次指定的方向上,再次執(zhí)行上次定義的查找。

  N 在上次指定的方向的相反方向上,再次執(zhí)行上次定義的查找。

  /pattern/+number 將光標(biāo)停在包含pattern的行后面第number行上。

  /pattern/-number 將光標(biāo)停在包含pattern的行前面第number行上。

  % 移到匹配的“()”或“{}”上。

  下面是在文本輸入模式下用來輸入文本的子命令(用戶可在任何時候按Escape返回到命令模式):

  a 在光標(biāo)之后開始輸入文本。

  A在行尾開始輸入文本。

  i在光標(biāo)之前開始輸入文本。

  I在行首第一個非空白字符前輸入文本。

  o在光標(biāo)所在行后插入一空行。

  O在光標(biāo)所在行前插入一空行。

  下面是在命令模式下改變文本所使用的子命令(用戶可在任何的時候按Escape鍵返回到命令模式):

  cc或S 修改一整行。

  C 改變一行光標(biāo)位置以后的部分。

  cw 改變光標(biāo)所在單詞。

  dd刪除當(dāng)前行。

  D 刪除光標(biāo)所在行光標(biāo)后面的內(nèi)容。

  dw刪除光標(biāo)所在的單詞。

  J 把下一行內(nèi)容加到本行行尾。

  rc把光符所在字符替換成c .

  R 覆蓋本行內(nèi)容。

  u恢復(fù)上一次的修改。

  x刪除光標(biāo)所在的字符。

  ~ 改變光標(biāo)所在出字符的大小寫。

  . 重復(fù)上一個*作。

  <<把當(dāng)前行移到左邊。

  >>把當(dāng)前行移到右邊。

  下面是用于文件中拷貝文本的字命令:

  p 將緩沖區(qū)內(nèi)容取到光標(biāo)所在行的下面一行。

  P 將緩沖區(qū)內(nèi)容取到光標(biāo)所在行的上面一行。

  “bd 將文本刪除至有名緩沖區(qū)b .

  “bp 張貼有名緩沖區(qū)b中內(nèi)容。

  yy把當(dāng)前行放入緩沖區(qū)。

  Y 把當(dāng)前行放入緩沖區(qū)。

  Yw把光標(biāo)所在的單詞放入緩沖區(qū)。

  :g/ /d, 刪除匹配 的所有行

  下面是用于保存文件的子命令:

  :w 回寫修改后的文件。

  :w filename 當(dāng)filename不存在時,把修改后的文件存為文件filename ,當(dāng)文件filename存在時,報(bào)錯。

  !w filename 如果文件filename存在時,把修改后的文件保存為文件filename .

  下面列出了在vi編輯的多個文件之間切換所用的子命令:

  :n開始編輯vi激活的文件列表中的下一個文件。

  :n filenames 指定將被編輯的新的文件列表。

  下面列出了用于在當(dāng)前文件和另外一個文件間切換的子命令:

  :e filename 使用filename激活vi (在vi中裝入另一個文件filename)。

  e!重新裝入當(dāng)前文件,若當(dāng)前文件有改動,則丟棄以前的改動。

  :e+filename 使用filename激活vi ,并從文件尾部開始編輯。

  :e+number filename 使用filename激活vi ,并在第number行開始編輯。

  :e# 開始編輯另外一個文件。

  下面是在本文件中加入其他文件代碼所使用的子命令:

  :r filename讀取filename文件,并將其內(nèi)容加到當(dāng)前文件后。

  :r ! command執(zhí)行command文件,并將其輸出加到當(dāng)前文件后。

  下面是vi中其他的子命令:

  ctrl+g 取得正在編輯文件的有關(guān)信息。

  :sh啟動sh ,從sh中返回可用exit或ctrl+d .

  :! Command 執(zhí)行命令command .

  !!重新執(zhí)行上次的:! Command子命令。

  :q退出vi ,若用戶對編輯的文件有所修改,系統(tǒng)不會讓用戶使用q命令退出。

  :q!退出vi而不管是否對文件有改動。

  ZZ或:wq 保存對文件的修改并退出vi .

  PS:最后學(xué)習(xí)啦小編再提醒下各位用戶可在一個特殊的文件.exrc中定義特殊的vi命令。在vi中使用這些命令時,必須在該命令前加上一個冒號( :)

360306