linux vi編輯器

vi命令是UNIX操做系統和類UNIX操做系統中最通用的全屏幕純文本編輯器。Linux中的vi編輯器叫vim,它是vi的加強版(vi Improved),與vi編輯器徹底兼容,並且實現了不少加強功能。linux

vi編輯器支持編輯模式和命令模式,編輯模式下能夠完成文本的編輯功能,命令模式下能夠完成對文件的操做命令,要正確使用vi編輯器就必須熟練掌握着兩種模式的切換。默認狀況下,打開vi編輯器後自動進入命令模式。從編輯模式切換到命令模式使用「esc」鍵,從命令模式切換到編輯模式使用「A」、「a」、「O」、「o」、「I」、「i」鍵。vim

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:安靜模式,不現實指令的任何錯誤信息。

參數

文件列表:指定要編輯的文件列表。多個文件之間使用空格分隔開。app

知識擴展

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

命令方式spa

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

輸入方式.net

經過輸入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

相關文章
相關標籤/搜索