共計 3709 個字符,預計需要花費 10 分鐘才能閱讀完成。
本篇內容主要講解“linux vi 編輯器的使用技巧有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“linux vi 編輯器的使用技巧有哪些”吧!
一.linux vi 編輯器簡介
linux vi 編輯器是 unix 世界中最通用的全屏編輯器,linux 中是用的是 vi 的加強版 vim,vim 同 vi 完全兼容,vi 就是 visual interface 的縮寫。它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要對其進行定制,這是其它編輯程序所沒有的。
vi 不是一個排版程序,它不象 Word 或 WPS 那樣可以對字體、格式、段落等其他屬性進行編排,它只是一個文本編輯程序。
vi 沒有菜單,只有命令,且命令繁多。只要在命令行上鍵入 vi 就可進入 vi 的編輯環境。vi 有三種狀態:命令模式, 文本輸入模式和末行模式。鍵入 vi 回車后首先進入 vi 的命令模式。
在命令模式下用戶輸入的任何字符都被 Vi 當作命令加以解釋執行,如果用戶要將輸入的字符當作是文本內容時,則首先應將 Vi 的工作模式從命令模式切換到文本輸入模式。在命令模式下,按一下 a(A)鍵或者”i”(I)或者 o(O)鍵,即進入插入態文本輸入模式。按 a 鍵,插入到當前光標的后面;按 i 鍵,在當前光標處插入;按 A 鍵,在當前光標所在行的 *** 插入;按 I 鍵,在當前光標所在行的開頭插入。在文本輸入模式下,按 Esc 鍵,即回到命令模式。
末行模式也稱 ex 轉義模式。Vi 有一個專門的“轉義”命令,可訪問很多面向行的 Ex 命令。在命令模式下,用戶按“:”鍵即可進入末行模式下,此時 Vi 會在顯示窗口的 *** 一行(通常也是屏幕的 *** 一行)顯示一個“:”作為末行模式的提示符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩沖區的內容寫到文件中等)。末行命令執行完后,Vi 自動回到命令模式。
例如:
:1,$s /A/a/g
則從文件 *** 行至文件尾將大寫 A 全部替換成小寫 a。
若在末行模式下輸入命令過程中想轉換的到命令模式,可按鍵,或用退格鍵將輸入的命令全部刪除之后,再按一下退格鍵,即可使 Vi 回到命令模式下。
如果要從命令模式轉換到編輯模式,可以鍵入命令 a 或者 i;如果需要從文本模式返回,則按 Esc 鍵即可。在命令模式下輸入“:”即可切換到末行模式,然后輸入命令。
Vi 中的許多命令都要用到行號及行數等數值。若編輯的文件較大時,自己去數是非常不方便的。為此 Vi 提供了給文本加行號的功能。這些行號顯示在屏幕的左邊,而相應行的內容則顯示在行號之后。需要說明的是,這里加的行號只是顯示給用戶看的,它們并不是文件內容的一部分。
當用 Vi 建立一個新文件時,在進入 Vi 的命令中也可以不給出文件名,當編輯完文件需要保存數據時,再由用戶指定文件名。
進入 Vi 時,用戶不僅可以指定一個待編輯的文件名,而且還有許多附加操作。如果希望在進入 Vi 之后,光標處于文件中特定的某行上,可在 Vi 后加上任選項 +n,其中 n 為指定的行數。例如 鍵入命令:vi +3 example.txt 后, 光標將位于文件 example.txt 中的第 3 行上。
二.vi 常用的命令
1.插入(Insert)命令
Vi 提供了兩個插入命令:i 和 I 命令
(1)i 命令
插入文本從光標所在位置前開始, 并且插入過程中可以使用鍵刪除錯誤的輸入。此時 Vi 處于插入狀態,屏幕最下行顯示“–INSERT–”(插入)字樣。
例 1, 有一正在編輯的文件,如下所示:
Welcome to vi world!Come on!
~
~
光標位于 *** 個“!”上,需在其前面插入:
This is an example!
使用 i 命令,并輸入相應文本后,屏幕顯示如下:
Welcome to vi world This is an example!!Come on!
~
~
由此例可以看到,光標本來是在 *** 個“!”處,但是由于是從光標所在位置前開始插入,所以這個“!”就被擠到了新插入的文本之后。
(2)I 命令
該命令是將光標移到當前行的行首,然后在其前插入文本.
2. 光標移動操作在屏幕上移動
全屏幕文本 VI 編輯器中,光標的移動操作無疑是最經常使用的操作了。用戶只有熟練地使用移動光標的這些命令,才能迅速準確地到達所期望的位置處進行編輯。
Vi 中的光標移動既可以在命令模式下,也可以在文本輸入模式下,但操作的方法不盡相同。
(1)在文本輸入模式下,可直接使用鍵盤上的四個方向鍵移動光標。
(2)在命令模式下,有很多移動光標的方法。不但可以使用四個方向鍵來移動光標,還可以用 h、j、k、l 這四個鍵代替四個方向鍵來移動光標,這樣可以避免由于不同機器上的不同鍵盤定義所帶來的矛盾,而且使用熟練后可以手不離開字母鍵盤位置就能完成所有操作,從而提高工作效率。
3.在屏幕上移動
Vi 編輯器提供了三個關于光標在全屏幕上移動并且文件本身不發生滾動的命令。它們分別是 H、M 和 L 命令。
(1)H 命令
該命令將光標移至屏幕首行的行首(即左上角),也就是當前屏幕的 *** 行,而不是整個文件的 *** 行。利用此命令可以快速將光標移至屏幕頂部。若在 H 命令之前加上數字 n,則將光標移至第 n 行的行首。值得一提的是,使用命令 dH 將會刪除從光標當前所在行至所顯示屏幕首行的全部內容。
(2)M 命令
該命令將光標移至屏幕顯示文件的中間行的行首。即如果當前屏幕已經充滿, 則移動到整個屏幕的中間行;如果并未充滿,則移動到文本的那些行的中間行。利用此命令可以快速地將光標從屏幕的任意位置移至屏幕顯示文件的中間行的行首。例如,在上面屏幕顯示的情況下(不論光標在屏幕的何處),在命令模式下,輸入命令 M 之后,光標都將移到 add 這一行的字母 a 上。同樣值得一提的是,使用命令 dM 將會刪除從光標當前所在行至屏幕顯示文件的中間行的全部內容。
(3)L 命令
當文件顯示內容超過一屏時,該命令將光標移至屏幕上的 *** 行的行首;當文件顯示內容不足一屏時,該命令將光標移至文件的 *** 一行的行首。可見,利用此命令可以快速準確地將光標移至屏幕底部或文件的 *** 一行。若在 L 命令之前加上數字 n,則將光標移至從屏幕底部算起第 n 行的行首。同樣值得一提的是,使用命令 dL 將會刪除從光標當前行至屏幕底行的全部內容。
4.編輯命令
讓我們看看最簡單也是最常用的編輯過程:沒有人不犯錯誤。所以遲早你會碰到修改你輸入的文本的時候。實際上花在字處理上的大多數時間是修改而不是輸入新的東西。因此,你要知道如何方便地修改就很重要。
(1)x– 刪除一個字符
刪除文字的最簡單的方式是用 x。這個命令的結果是光標所處的字符的消失,后面的文字左移動。如果你刪除的字符是一行 *** 的一個字符,那么光標將向左移動一個,這樣光標就不會停留在不存在的字符的下面了。假如沒有任何文字了,喇叭就叫。
(2)d– 刪除對象
這個命令的右邊還要有一定的文字對象。文字對象就是一塊文字。他右邊接的就是在控制光標移動的那些字符。例如 w 表示向前一個單詞,那么 dw 將刪除下一個單詞。5w 表示前進 5 個單詞,那么 d5w 將刪除他們。
(3)dd– 刪除一行
最常用的 d 系列命令之一。和前面一樣,5dd 將刪除 5 行
(4)D– 整個刪除
大寫形式的 D 用來刪除從光標到行尾。和 d$ 一樣效果。
(5)u– 恢復
要后悔嗎?他不僅僅撤消刪除,還撤消你所有的編輯工作。
(6).– 重復
重復編輯工作。
5.退出 Vi 編輯器
當編輯完文件,準備退出 Vi 返回到 shell 時,可以使用以下幾種方法之一。
(1)在命令模式中,連按兩次大寫字母 Z,若當前編輯的文件曾被修改過,則 Vi 保存該文件后退出,返回到 shell;若當前編輯的文件沒被修改過,則 Vi 直接退出, 返回到 shell。
(2)在末行模式下,輸入命令 :w Vi 保存當前編輯文件,但并不退出,而是繼續等待用戶輸入命令。在使用 w 命令時,可以再給編輯文件起一個新的文件名。
例如:w newfile
此時 Vi 將把當前文件的內容保存到指定的 newfile 中,而原有文件保持不變。若 newfile 是一個已存在的文件,則 Vi 在顯示窗口的狀態行給出提示信息:
File exists(use ! to override)
此時,若用戶真的希望用文件的當前內容替換 newfile 中原有內容,可使用命令
:w! newfile
否則可選擇另外的文件名來保存當前文件。
(3)在末行模式下,輸入命令 :q 系統退出 Vi 返回到 shell。若在用此命令退出 Vi 時,編輯文件沒有被保存,則 Vi 在顯示窗口的最末行顯示如下信息:
No write since last change(use ! to overrides)
提示用戶該文件被修改后沒有保存,然后 Vi 并不退出,繼續等待用戶命令。若用戶就是不想保存被修改后的文件而要強行退出 Vi 時,可使用命令:q! Vi 放棄所作修改而直接退到 shell 下。
(4)在末行模式下,輸入命令 :wq Vi 將先保存文件,然后退出 Vi 返回到 shell。
(5)在末行模式下,輸入命令 :x 該命令的功能同命令模式下的 ZZ 命令功能相同。
到此,相信大家對“linux vi 編輯器的使用技巧有哪些”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!