VI 命令解析

2021-12-30 08:47:59 字數 2858 閱讀 5352

vi命令是unix作業系統和類unix作業系統中最通用的全螢幕純文字編輯器。linux中的vi編輯器叫vim,它是vi的增強版(vi improved),與vi編輯器完全相容,而且實現了很多增強功能。

vi編輯器支援編輯模式和命令模式,編輯模式下可以完成文字的編輯功能,命令模式下可以完成對檔案的操作命令,要正確使用vi編輯器就必須熟練掌握著兩種模式的切換。預設情況下,開啟vi編輯器後自動進入命令模式。從編輯模式切換到命令模式使用「esc」鍵,從命令模式切換到編輯模式使用「a」、「a」、「o」、「o」、「i」、「i」鍵。

vi編輯器提供了豐富的內建命令,有些內建命令使用鍵盤組合鍵即可完成,有些內建命令則需要以冒號「:」開頭輸入。常用內建命令如下:

ctrl+u:向檔案首翻半屏;

ctrl+d:向檔案尾翻半屏;

ctrl+f:向檔案尾翻一屏;

ctrl+b:向檔案首翻一屏;

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

zz:命令模式下儲存當前檔案所做的修改後退出vi;

:行號:游標跳轉到指定行的行首;

:$:游標跳轉到最後一行的行首;

x或x:刪除乙個字元,x刪除游標後的,而x刪除游標前的;

d:刪除從當前游標到游標所在行尾的全部字元;

dd:刪除游標行正行內容;

ndd:刪除當前行及其後n-1行;

nyy:將當前行及其下n行的內容儲存到暫存器?中,其中?為乙個字母,n為乙個數字;

p:貼上文字操作,用於將快取區的內容貼上到當前游標所在位置的下方;

p:貼上文字操作,用於將快取區的內容貼上到當前游標所在位置的上方;

/字串:文字查詢操作,用於從當前游標所在位置開始向檔案尾部查詢指定字串的內容,查詢的字串會被加亮顯示;

?name:文字查詢操作,用於從當前游標所在位置開始向檔案頭部查詢指定字串的內容,查詢的字串會被加亮顯示;

a,bs/f/t:替換文字操作,用於在第a行到第b行之間,將f字串換成t字串。其中,「s/」表示進行替換操作;

a:在當前字元後新增文字;

a:在行末新增文字;

i:在當前字元前插入文字;

i:在行首插入文字;

o:在當前行後面插入一空行;

o:在當前行前面插入一空行;

:wq:在命令模式下,執行存檔退出操作;

:w:在命令模式下,執行存檔操作;

:w!:在命令模式下,執行強制存檔操作;

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

:q!:在命令模式下,執行強制退出vi操作;

:e檔名:在命令模式下,開啟並編輯指定名稱的檔案;

:n:在命令模式下,如果同時開啟多個檔案,則繼續編輯下乙個檔案;

:f:在命令模式下,用於顯示當前的檔名、游標所在行的行號以及顯示比例;

:set number:在命令模式下,用於在最左端顯示行號;

:set nonumber:在命令模式下,用於在最左端不顯示行號;

語法vi(選項)(引數)

選項+行:從指定行號的行開始先是文字內容;

-b:以二進位制模式開啟檔案,用於編輯二進位制檔案和可執行檔案;

-c指:在完成對第乙個檔案編輯任務後,執行給出的指令;

-d:以diff模式開啟檔案,當多個檔案編輯時,顯示檔案差異部分;

-l:使用lisp模式,開啟「lisp」和「showmatch」;

-m:取消寫檔案功能,重設「write」選項;

-m:關閉修改功能;

-n:不實用快取功能;

-o檔案數:指定同時開啟指定數目的檔案;

-r:以唯讀方式開啟檔案;

-s:安靜模式,不現實指令的任何錯誤資訊。

引數檔案列表:指定要編輯的檔案列表。多個檔案之間使用空格分隔開。

知識擴充套件

vi編輯器有三種工作方式:命令方式、輸入方式和ex轉義方式。通過相應的命令或操作,在這三種工作方式之間可以進行轉換。

命令方式

在shell提示符後輸入命令vi,進入vi編輯器,並處於vi的命令方式。此時,從鍵盤上輸入的任何字元都被作為編輯命令來解釋,例如,a(append)表示附加命令,i(insert)表示插入命令,x表示刪除字元命令等。如果輸入的字元不是vi的合法命令,則機器發出「報警聲」,游標不移動。另外,在命令方式下輸入的字元(即vi命令)並不在螢幕上顯示出來,例如,輸入i,螢幕上並無變化,但通過執行i命令,編輯器的工作方式卻發生變化:由命令方式變為輸入方式。

輸入方式

通過輸入vi的插入命令(i)、附加命令(a)、開啟命令(o)、替換命令(s)、修改命令(c)或取代命令(r)可以從命令方式進入輸入方式。在輸入方式下,從鍵盤上輸入的所有字元都被插入到正在編輯的緩衝區中,被當做該檔案的正文。進入輸入方式後,輸入的可見字元都在螢幕上顯示出來,而編輯命令不再起作用,僅作為普通字母出現。例如,在命令方式下輸入字母i,進到輸入方式,然後再輸入i,就在螢幕上相應游標處新增乙個字母i。

由輸入方式回到命令方式的辦法是按下esc鍵。如果已在命令方式下,那麼按下esc鍵就會發出「嘟嘟」聲。為了確保使用者想執行的vi命令是在命令方式下輸入的,不妨多按幾下esc鍵,聽到嘟聲後再輸入命令。

ex轉義方式

vi和ex編輯器的功能是相同的,二者的主要區別是使用者介面。在vi中,命令通常是單個字母,如a,x,r等。而在ex中,命令是以enter;鍵結束的命令列。vi有乙個專門的「轉義」命令,可訪問很多面向行的ex命令。為使用ex轉義方式,可輸入乙個冒號(:)。作為ex命令提示符,冒號出現在狀態行(通常在螢幕最下一行)。按下中斷鍵(通常是del鍵),可終止正在執行的命令。多數檔案管理命令都是在ex轉義方式下執行的(例如,讀取檔案,把編輯緩衝區的內容寫到檔案中等)。轉義命令執行後,自動回到命令方式。例如:

:1,$s/i/i/g 按enter鍵

則從檔案第一行至檔案末尾($)將大寫i全部替換成小寫i。vi編輯器的三種工作方式之間的轉換如圖所示。

vi

讀書筆記 vi編輯命令解析

vi命令是字元終端下的乙個文字編輯命令。對檔案進行少量修改時使用vi命令很方便,特別是在使用遠端登入linux時。vi可以執行輸出 刪除 查詢 替換 塊操作等眾多文字操作,它沒有選單,只有命令,且命令繁多。在控制台中輸入 vi 或者 vi filename 就惡意啟動vi,後者將開啟或新建檔案。它有...

vi命令備忘

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

vi簡單命令

輸入和刪除文字 請按 esc 鍵確保 vi 處於命令模式然後可以執行以下任何乙個命令文 本輸入命令將 vi 置於文字模式下而刪除命令卻無此功能 鍵入 輸入文字 i 在游標之前游標後的所有內容都向右移 i 在一行的第乙個字元之前 a 在當前游標位置之後游標向右移然後插入文字如同使用 i a 在一行的結...