首頁 >後端開發 >PHP問題 >linux編輯檔案指令vi有什麼作用

linux編輯檔案指令vi有什麼作用

晓曦&sea
晓曦&sea原創
2020-07-17 17:35:574605瀏覽

vi指令用於進入UNIX作業系統中最通用的全螢幕純文字編輯器vi。 vi編輯器支援編輯模式和指令模式,編輯模式下可以完成文字的編輯功能,指令模式下可以完成對檔案的操作指令,要正確使用vi編輯器就必須熟練兩種模式的切換。

linux編輯檔案指令vi有什麼作用

vi指令

#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。

 

以上是linux編輯檔案指令vi有什麼作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn