vi編輯器的使用

2021-08-30 05:44:09 字數 4520 閱讀 1076

vi編輯器的使用

一、vi的工作模式

vi有兩種工作模式:

編輯模式:用來輸入和編輯檔案的模式,螢幕上會顯示使用者的鍵入,按鍵不是被解釋為命令執行,而是作為文字寫到使用者的檔案中。

指令模式:用來編輯、存檔和退出檔案的模式。

執行vi後,首先進入指令模式。此時輸入的任何字元都被視為指令,鍵入的命令不會在螢幕上顯示。

從指令模式切換到編輯模式,則可以按「insert」鍵或「i」鍵,從編輯模式切換到指令模式,可按「esc」鍵。

狀態行是螢幕底部一行,被vi編輯器用來反饋編輯操作結果。錯誤訊息或提供資訊的訊息會在狀態行中顯示出來。

二、vi的啟動和退出

1.啟動vi

在指令模式下鍵入如下命令可以退出vi:

:q 如果使用者只是讀檔案的內容而未對檔案進行修改,可以在命令模式下輸入「:q」退出vi。

:q! 如果使用者對檔案的內容作了修改,又決定放棄對檔案的修改,則用「:q!」命令。

:w! 強行儲存乙個vi檔案,如果該檔案已存在,則進行覆蓋。

:wq 儲存檔案並退出vi。

zz 快速儲存檔案的內容,然後退出vi。功能和「:wq」相同。

:w filename   相當於「另存為」。

:n,mw filename   將第n-m行的文字儲存到指定的檔案filename中。

三、vi長指令和短指令

長指令:以冒號開頭,鍵入冒號後,在螢幕的最末尾一行會出現冒號提示符,等待使用者鍵入指令,輸入完指令後回車,vi會執行該指令。

段指令:與快捷鍵相似,鍵入短指令後,vi不會給任何提示就直接執行。

1.輸入輸出命令

a 在游標後輸入文字

a 在當前行末尾輸入文字

i 在游標前輸入文字

i 在當前行開始輸入文字

o 在當前行後輸入新一行

o 在當前行前輸入新一行

2.游標移動命令

b 移動到當前單詞的開始

e 移動到當前單詞的結尾

w 向後移動乙個單詞

h 向前移動乙個字元

l 向後移動乙個字元

j 向下移動一行

k 向上移動一行

3.刪除操作命令

x 刪除游標所在的字元

dw 刪除游標所在的單詞

dd 刪除當前行

d$ 刪除游標至行尾的所有字元

d 與「d$」命令相同

4.替換操作命令

r 替換游標所在的字元

r 替換字串行

cw 替換乙個單詞

ce 與「cw」命令相同

cb 替換游標所在的前一字元

c$ 替換自游標位置至行尾的所有字元

c 與「c$」命令相同

cc 替換當前行

5.查詢操作命令

/abc 向後查詢字串「abc」

?abc 想前查詢字串「abc」

n 重複前一次查詢

n 重複前一次查詢,但方向相反

6.拷貝貼上命令

yw 將游標所在單詞拷入剪貼簿

y$ 將游標至行尾的字元拷入剪貼簿

y 與「y$」命令相同

yy 將當前行拷入剪貼簿

y 將選取的內容拷入剪貼簿

p 將剪貼簿中的內容貼上在游標後

p 將剪貼簿中的內容貼上在游標前

7.其他操作命令

v 選取文字內容

u 取消上一次的操作

u 可以恢復對游標所在行的所有改變

j 把兩行文字鏈結到一起

:set 用來設定或瀏覽vi系統當前的選項(加引數「all」後檢視所有選項的列表)

:x 對所編輯的檔案進行簡單加密

四、vi的高階應用

1.設定vi環境

vi編輯器的行為可以通過設定編輯引數來定義。

使用vi的set命令進行設定。vi在進行設定前必須處於指令模式,但選項的改變是臨時的,只在使用者當前編輯回話下有效,當使用者退出vi編

輯器時,設定會被丟棄。

autoindent選項

將新行與前一行的開始對準,縮寫:ai

該選項將使用者鍵入的每個新行與前一行的開始對齊。該選項對於使用程式語言程式設計時十分有用。本選項的預設值是noai。

ignorecase選項

在搜尋命令下忽略大小寫,縮寫:ic

vi編輯器提供大小寫敏感的搜尋,要使vi忽略大小寫,鍵入「:set ignorecase」,要返回大小寫敏感狀態,鍵入「:set noignorecase」.

magic選項

在搜尋時,允許使用特殊字元。

某些符號在用於搜尋時有特殊的含義。當使用者將這些符號開頭置為nomagic時,這些符號不再有特殊含義。

number選項

顯示行號,縮寫:nu

vi編輯器一般情況下不顯示每行的行號。可以改變number選項來顯示行號。

report選項

告知使用者最後乙個命令作用行的行號。

vi編輯器對使用者的編輯工作並不給予任何反饋,如果希望在螢幕上看到自己編輯的反饋資訊,使用者可以通過編輯report選項來實現。

scroll選項

設定在指令模式下使用「ctrl+d」命令翻滾的行數。

shiftwidth選項

設定縮排空格數,一般與autoindent一同使用,縮寫:sw

showmode選項

在螢幕右角顯示vi編輯器模式,縮寫:smd

terse選項

縮短錯誤資訊。

wrapmargin選項

將右邊界設定為一定的字元個數,縮寫:wm

使用者的終端螢幕通常為80列,當鍵入到行的末尾時,螢幕即開始乙個新行,這就是行迴繞。在使用者按回車鍵時,螢幕同樣開始乙個新行。

按回車前鍵入了120個字元,這時鍵入的文字看起來是在2行,但實際在檔案中,這120個字元只在1行中。如果要限制行長度,一是在到達螢幕

行末尾前按回車換行,另一種是設定wrapmargin選項使vi編輯器自動插入回車。

2.縮寫操作符

縮寫操作符「:ab」命令使得使用者給任何字串指定縮寫,該功能可以幫主使用者提高輸入速度。使用者可以為自己經常輸入的文字選擇乙個易

輸入的縮寫。

例如:鍵入「:ab uox unix operating system」命令,當vi處於文字輸入模式時,使用者鍵入「uox」接著鍵入乙個空格時,vi自動將鍵入的

「uox」變為「unix operating system」。

取消縮寫「:unab」命令可以取消乙個縮寫,例如:鍵入「:unab uox」命令即可。

想列出已經設定了的所有縮寫,鍵入「:ab」命令即可。

3.巨集操作符

巨集操作符「:map」命令使使用者能將一系列按鍵指定給某一按鍵。給使用者乙個在指令模式下的快捷按鍵。

例如:鍵入「:map q dd」命令,此後處於指令模式時,每當使用者鍵入q時,vi編輯器自動執行「dd」命令。

取消巨集操作「:unmap」命令。

使用者也可以使用map指令指定功能鍵,例如:鍵入「:map #n dd」命令,其中「#n」代表以n為功能鍵號的功能鍵。

4.「.exrc」檔案

使用者在vi編輯器中所設定的所有選項都是臨時的,當使用者退出時,它們都會失效。要使這些設定永久儲存,可以將選項的設定儲存到檔案

「.exrc」中。

當使用者開啟vi編輯器時,它自動檢視使用者當前的工作目錄中的「.exrc」檔案,並根據在檔案中的內容設定編輯環境。如果vi沒有在當前目

錄中發現「.exrc」檔案,則將查詢使用者的主目錄,並根據在**發現的「.exrc」檔案設定編輯環境。如果vi乙個「.exrc」檔案也沒找到,則

對選項使用預設值。

「.exrc」檔案屬於啟動檔案。

例如:建立乙個「.exrc」檔案。

在終端中鍵入「vi .exrc」,回車。

在vi編輯器中鍵入:

set autoindent

set shiftwidth=2

set nomagic

set number

set scroll=20

set showmode

儲存退出即可

5.執行shell命令

使用者可以在vi的命令列執行linux shell命令,使得使用者可以臨時拋開vi來執行shell命令。

vi編輯器用「!」來通知vi其後面是乙個shell命令。例如:鍵入「:!date」命令,vi編輯器將清除螢幕,輸出當前系統時間,後按任意鍵返回vi編輯器,並可以繼續編輯。

如果使用者系統將shell命令執行的結果加到檔案文字中,可以使用「:r!」和相應的shell命令來將命令結果寫到使用者檔案文字中。

vi 編輯器的使用

1 vi編輯器開啟檔案。例 vi install.log 開啟install.log檔案 2 vi的三種狀態 命令模式 主要對游標進行操作 編輯模式 末行模式 帶 的 輸入i,在游標的前面插入字元。按esc鍵回到命令模式。輸入i,在行首插入字元。輸入a,在游標後插入 輸入a,在行末插入 輸入o,在游...

VI 編輯器的使用

vi 的工作模式 編輯模式 插入模式 命令模式 shell 切換 選項設定 vim 和 gvim 的高階特色 1.1 vi 的工作模式 vi 在初始啟動後首先進入編輯模式,這時使用者可以利用一些預先定義的按鍵來移動游標 刪除文字 複製或貼上文字等。這些按鍵均是普通的字元,例如 l 是向右移動游標,相...

vi 編輯器的使用

vi filename 開啟或新建檔案,並將游標置於第一行首 vi n filename 開啟檔案,並將游標置於第n行首 vi filename 開啟檔案,並將游標置於最後一行首 vi pattern filename 開啟檔案,並將游標置於第乙個與pattern匹配的串處 移動游標類命令 h 游標...