共計 4093 個字符,預計需要花費 11 分鐘才能閱讀完成。
這篇文章主要介紹“Linux 中怎么使用 vi 文本編輯器”,在日常操作中,相信很多人在 Linux 中怎么使用 vi 文本編輯器問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux 中怎么使用 vi 文本編輯器”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
一.vi 文本編輯器
配置文件是 Linux 操作系統的顯著特征之一,其作用有點類似于 Windows 操作系統中的注冊表,只不過注冊表是集中管理,而配置文件采用了分散的自由管理方式。
1. 使用 vi 文本編輯器
vi 是一個功能強大的全屏幕文本編輯工具,一直以來都作為類 UNIX 操作系統的默認文本編輯器,vim 是 vi 文本編輯器(簡稱 vi 編輯器)的增強版本,在 vi 編輯器的基礎上擴展了很多實用的功能,但是習慣上也將 vim 稱為 vi,為了使用方便,可以設置一個命令別名,將 vi 指向 vim 程序(本文中以 vim 程序為例)具體操作如下:
[root@localhost ~]# alias vi= /usr/bin/vim
[root@localhost ~]# which -a vi vim
2.vi 編輯器的工作模式
vi 編輯器是工作在字符終端環境下的全屏幕編輯器,因此編輯界面相對比較簡單,沒有為用戶提供鼠標操作和菜單系統,而是通過按鍵命令實現相應的編輯和操作功能,在 v 編輯界面中可以使用三種不同的工作模式,即命令模式,輸入模式和末行模式,在不同的模式中能夠對文件進行的操作也不相同。
命令模式:啟動 vi 編輯器后默認進入命令模式。該模式中主要完成如光標移動、字符串查找,以及刪除、復制、粘貼文件內容等相關操作。輸入模式:該模式中主要的操作就是錄入文件內容,可以對文本文件正文進行修改或添加新的內容。處于輸入模式時,vi 編輯器的最后一行會出現“–NSERT–”的狀態提示信息。末行模式:該模式中可以設置 vi 編輯環境、保存文件、退出編輯器,以及對文件內容進行查找、替換等操作。處于末行模式時,vi 編輯器的最后一行會出現冒號”:”提示符。
命令模式、輸入模式和末行模式是 vi 編輯環境的三種狀態,通過不同的按鍵操作可以在不同的模式間進行切換。例如,從命令模式按:(冒號)鍵可以進入末行模式,按 a,i,o 等鍵可以進入輸入模式:在輸入模式、末行模式均可按 Esc 鍵返回命令模式,如圖所示。
認識了 vi 編輯器的不同編輯模式(狀態)以后,下面分別介紹在命令模式、末行模式中的常見操作方法(輸入模式用于錄入文本內容,不做特別介紹)。
3. 命令模式中的基本操作
執行單獨的“vi”命令即可進入 v 編輯器的命令模式,還會顯示相關版本信息,如圖所示。但更常見的使用方法是指定要編輯的文件名作為參數,若該文件不存在,則 vi 根據該文件名稱打開一個新的空文件。
在學習 vi 編輯器的基本操作時,建議復制一個內容較多的系統配置文件進行練習,而不要直接去修改系統文件,以免發生失誤造成系統故障。
例如以下操作把系統配置文件 /etc/yum.conf 復制為當前目錄下的 vitest.file 文件,然后用 vi 編輯器打開 vitest.file 文件進行編輯。
[root@localhost ~]# cp /etc/yum.conf ./vitest.file
[root@localhost ~]# vi vitest.file
在 vi 編輯器的命令模式中,可以輸入特定的按鍵(稱為 vi 操作命令注意區別于 Linux 操作系統命令)進行操作,主要包括模式切換、光標移動、復制、刪除、粘貼、文件內容查找及保存和退出等操作,這里只介紹一些最基本且常用的按鍵命令。
(1)模式切換
在命令模式中,按 a.i.o 等鍵可以快速切換至輸入模式,同時確定插入點的方式和位置,以便錄入文件內容,需要返回命令模式時,按 Esc 鍵即可。常見的幾個模式切換鍵及其作用如下。
a:在當前光標位置之后插入內容。A:在光標所在行的末尾(行尾)插入內容。i:在當前光標位置之前插入內容。I:在光標所在行的開頭(行首)插入內容。o:在光標所在行的后面插入一個新行。O:在光標所在行的前面插入一個新行。
(2)移動光標
光標方向的移動,直接按 uarr;,darr;,larr;,rarr; 一西個方向鍵完成相應的光標移動。
題頁移動
按 Page Dewn 鍵或 Crl+ F 組合鍵向下期動一整頁內容。
技 Pagt lip 或 Cr1+ 8 組合鍵向上翻動一整頁內容。
行內快速跳轉
按 Horme 鍵成“鍵,散字 0 鍵將元標快速鵬轉到本行的行首。接 End 鍵或 1 鍵將光標快速跳轉到本行的行尾。在上述按鍵操作中,PageDown,Pagn Up,homm,End 及方向鍵同樣也可在 w 的輸入模式中使用。
入行間快速跳轉
使用按鍵命令 1G 或者 0 可跳轉到文件內容的第 1 行。使用按鍵命令 G 可跳轉到文件的最后一行。使用按鍵會令 #G 可院轉到文件中的第# 行(其中“二”號用高體數字替換)。
為了便于查看行間期轉效果,這里先學習如何在 v 編輯器中是示行號,只要切換到末行模式并
執行如下的”set cu”命令即可顯示行號,執行 set nonu 命令可以取消量示行號.
顯示行號后的 vi 編輯器界面顯示格式如下(每行開頭的數字即行號):
(3)復制、粘貼和刪除
刪除操作。
按 times; 鍵或 Delete 鍵刪除光標處的單個字符。使用按鍵命令 dd 刪除當前光標所在行,使用 #dd 的形式還可以刪除從光標處開始的# 行內容(其中“#”號用具體數字替換)。使用按鍵命令 d 刪除當前光標之前到行首的所有字符。使用按鍵命令 ds 刪除當前光標處到行尾的所有字符。
復制操作,使用按鍵命令 Yy 復制當前行整行的內容到剪貼板,使用 #Yy 的形式還可以復制從光標處開始的# 行內容(其中“#”號用具體數字替換). 復制的內容需要粘貼后才能使用。
粘貼操作。在 vi 編輯器中,前一次被刪除或復制的內容將會保存到剪切板緩沖區中,按 p 鍵即可將緩沖區中的內容粘貼到光標位置處之后,按 P 鍵則會粘貼到光標位置處之前。
(4)查找文件內容
在命令模式中,按 / 鍵后可以輸入指定的字符串,從當前光標處開始向后進行查找(按?鍵則向前查找). 完成查找后可以按 n、N 鍵在不同的查找結果中進行選擇,例如,輸入“/yum”,按 Enter 鍵后將查找出文件中的“yum”字符串并高亮顯示,光標自動移動至第一個查找結果處,按 n 鍵可以移動到下一個查找結果,如圖所示。
(5)撤銷編輯及保存和退出
在對文件內容進行編輯時,有時候需要對一些失誤的編輯操作進行撤銷,這時可以使用按鍵 u,U 鍵,其中,u 鍵命令用于取消最近一次的操作,并恢復操作結果,可以多次重復按 upsilon; 鍵恢復已進行的多步操作;U 鍵命令用于取消對當前行所做的所有編輯。當需要保存當前的文件內容并退出 vi 編輯器時,可以使用按鍵命令 ZZ。
4. 末行模式中的基本操作
在命令模式中按:鍵可以切換到末行模式,vi 編輯器的最后一行中將顯示”:提示符,用戶可以在該提示符后輸入特定的末行命令,完成如保存文件,退出編輯器,打開新文件,讀取其他文件內容及字符串替換等豐富的功能操作。
(1)保存文件及退出 vi 編輯器
保存文件,對文件內容進行修改并確認以后,需要執行如下的“w”命令進行保存。
若需要另存為其他文件,則需要指定新的文件名,必要時還可以指定文件路徑。
例如,執行如下的“:w/root/newfile 操作將把當前編輯的文件另存到 /root 目錄下,文件名為 newfile.
退出編輯器。需要退出 vi 編輯器時,可以執行“:q 命令,若文件內容已經修改卻沒有保存,則僅使用”;q”命令將無法成功退出,這時需要使用如下的”q!”命令強行退出(不保存即退出)。
保存并退出。既要保存文件又要退出 vi 編輯器可以使用一條末行命令“:wq”或“:x”實現,其效果與命令模式中的 ZZ 命令相同,具體操作如下:
(2)打開新文件或讀入其他文件內容
打開新的文件進行編輯。在當前 vi 編輯器中,執行”:e 新的文件”形式的末行命令可以編輯(Edit)新文件。
例如,執行如下的 lsquo;:e~/initial-setup-ks.cfg”操作將直接打開當前用戶宿主目錄中的 initial-setup-ks.cfg 文件進行編輯。
:e ~/initial-setup-ks.cfg
在當前文件中讀入其他文件內容,執行“r 其他文件”形式的末行命令可以讀入(Read)其他文件中的內容,并將其復制到當前光標所在位置。
例如,執行如下的“r/etc/filesystems 操作將把系統文件 /etc/filesystems 中的內容復制到當前文件中。
:r /etc/filesystems
(3)替換文件內容
在 vi 編輯器的末行模式中,能夠將文件中特定的字符串替換成新的內容,當需要大批量修改同一內容時,使用替換功能將大大提高編輯效率,使用替換功能時的末行命令格式如下:
:[替換范圍]sub/ 舊的內容 / 新的內容[/g]
在上述替換格式中,主要關鍵字為 sb(Substitute,替換). 也可以簡寫為 s. 替換范圍是可選部分,默認時只對當前行內的內容進行替換,一般可以表示為以下兩種形式。
%:在整個文件內容中進行查找并替換。n.m;在指定行數范圍內的文件內容中進行查找并替換。
替換格式中最末尾的 / g 部分也是可選內容,表示對替換范圍內每一行的所有匹配結果都進行替換,省略 / g 時將只替換每行中的第一個匹配結果。
例如,若要將文檔中第 5 行~ 第 15 行中的“initdefault”字符串替換為“DEFAULT”,可以執行以下操作:
:5,15 s /initdefault/DEFAULT/g
當需要對整個文檔范圍進行查找替換操作時,需要使用“%”符號表示全部,例如,以下操作將會把當前文件中所有的“initdefault”字符串替換為“bootdefault”
:% s /initdefault/bootdefault/g
到此,關于“Linux 中怎么使用 vi 文本編輯器”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!