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

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

Jul 17, 2020 pm 05:35 PM

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

PHP 8 JIT(即時)彙編:它如何提高性能。 PHP 8 JIT(即時)彙編:它如何提高性能。 Mar 25, 2025 am 10:37 AM

PHP 8的JIT編譯通過將代碼經常彙編為機器代碼,從而增強了性能,從而使應用程序有益於大量計算並減少執行時間。

PHP安全文件上傳:防止與文件相關的漏洞。 PHP安全文件上傳:防止與文件相關的漏洞。 Mar 26, 2025 pm 04:18 PM

本文討論了確保PHP文件上傳的確保,以防止諸如代碼注入之類的漏洞。它專注於文件類型驗證,安全存儲和錯誤處理以增強應用程序安全性。

OWASP前10 php:描述並減輕常見漏洞。 OWASP前10 php:描述並減輕常見漏洞。 Mar 26, 2025 pm 04:13 PM

本文討論了OWASP在PHP和緩解策略中的十大漏洞。關鍵問題包括注射,驗證損壞和XSS,並提供用於監視和保護PHP應用程序的推薦工具。

PHP加密:對稱與非對稱加密。 PHP加密:對稱與非對稱加密。 Mar 25, 2025 pm 03:12 PM

本文討論了PHP中的對稱和不對稱加密,並比較了它們的適用性,性能和安全差異。對稱加密速度更快,適合大量數據,而不對稱的鍵交換則使用。

如何使用PHP從數據庫中檢索數據? 如何使用PHP從數據庫中檢索數據? Mar 20, 2025 pm 04:57 PM

文章討論了使用PHP從數據庫中檢索數據,涵蓋步驟,安全措施,優化技術和解決方案的常見錯誤。

PHP身份驗證&amp;授權:安全實施。 PHP身份驗證&amp;授權:安全實施。 Mar 25, 2025 pm 03:06 PM

本文討論了在PHP中實施強大的身份驗證和授權,以防止未經授權的訪問,詳細說明最佳實踐並推薦安全增強工具。

PHP API率限制:實施策略。 PHP API率限制:實施策略。 Mar 26, 2025 pm 04:16 PM

本文討論了在PHP中實施API速率限制的策略,包括諸如令牌桶和漏水桶等算法,以及使用Symfony/Rate-limimiter之類的庫。它還涵蓋監視,動態調整速率限制和手

PHP CSRF保護:如何防止CSRF攻擊。 PHP CSRF保護:如何防止CSRF攻擊。 Mar 25, 2025 pm 03:05 PM

本文討論了防止PHP中CSRF攻擊的策略,包括使用CSRF代幣,同一站點cookie和適當的會話管理。

See all articles