Linux(4)vim程式编辑器

一.文本处理器

在 Linux 的世界中,絕大部分的設定檔都是以 ASCII 的純文字形態存在,因此利用簡單的文字編輯軟體就能夠修改設定了! 與微軟的 Windows 系統不同的是,如果你用慣了 Microsoft Word 或 Corel Wordperfect 的話,那麼除了 X window 裡面的圖形介面編輯程式(如 xemacs )用起來尚可應付外,在 Linux 的文字模式下,會覺得文書編輯程式都沒有視窗介面來的直觀與方便。

那麼 Linux 在文字介面下的文書編輯器有哪些呢?其實有非常多喔!常常聽到的就有: emacspiconanojoe, 與 vim 等等。

  • 所有的 Unix Like 系統都會內建 vi 文書編輯器,其他的文書編輯器則不一定會存在;
  • 很多個別軟體的編輯介面都會主動呼叫 vi (例如未來會談到的 crontabvisudoedquota 等指令);
  • vim 具有程式編輯的能力,可以主動的以字體顏色辨別語法的正確性,方便程式設計;
  • 因為程式簡單,編輯速度相當快速。

vim是vi的进阶版本,vim 可以用顏色或底線等方式來顯示一些特殊的資訊。 舉例來說,當你使用 vim 去編輯一個 C 程式語言的檔案,或者是我們後續會談到的 shell script 腳本程式時,vim 會依據檔案的副檔名或者是檔案內的開頭資訊, 判斷該檔案的內容而自動的呼叫該程式的語法判斷式,再以顏色來顯示程式碼與一般資訊。也就是說, 這個 vim 是個『程式編輯器』啦!甚至一些 Linux 基礎設定檔內的語法,都能夠用 vim 來檢查呢!

簡單的來說, vi 是老式的文書處理器,不過功能已經很齊全了,但是還是有可以進步的地方。 vim 則可以說是程式開發者的一項很好用的工具,就連 vim 的官方網站 (http://www.vim.org) 自己也說 vim 是一個『程式開發工具』而不是文書處理軟體~^_^。 因為 vim 裡面加入了很多額外的功能,例如支援正規表示法的搜尋架構、多檔案編輯、區塊複製等等。 這對於我們在 Linux 上面進行一些設定檔的修訂工作時,是很棒的一項功能呢!

二.vi的三种模式

  • 一般指令模式 (command mode)

以 vi 打開一個檔案就直接進入一般指令模式了(這是預設的模式,也簡稱為一般模式)。在這個模式中, 你可以使用『上下左右』按鍵來移動游標,你可以使用『刪除字元』或『刪除整列』來處理檔案內容, 也可以使用『複製、貼上』來處理你的文件資料。

  • 編輯模式 (insert mode)

在一般指令模式中可以進行刪除、複製、貼上等等的動作,但是卻無法編輯文件內容的! 要等到你按下『i, I, o, O, a, A, r, R』等任何一個字母之後才會進入編輯模式。注意了!通常在 Linux 中,按下這些按鍵時,在畫面的左下方會出現『 INSERT 或 REPLACE 』的字樣,此時才可以進行編輯。而如果要回到一般指令模式時, 則必須要按下『Esc』這個按鍵即可退出編輯模式。

  • 指令列命令模式 (command-line mode)

在一般模式當中,輸入『 : / ? 』三個中的任何一個按鈕,就可以將游標移動到最底下那一列。在這個模式當中, 可以提供你『搜尋資料』的動作,而讀取、存檔、大量取代字元、離開 vi 、顯示行號等等的動作則是在此模式中達成的!

使用vi指令的时候要写绝对路径,不然使用的centOS会默认使用vim指令:

(不管viTest.txt存在不存在,都要在/bin/vi后加上档案名)

若不存在:

按下那几个特定的键之后:下方会出现

输入文档后可以输入wq写入加保存:

查看:

若存在:

直接被打开

①一般模式下的指令

三.vim的暂存档、救援回复与开启时的警告讯息

在目前主要的文書編輯軟體都會有『回復』的功能,亦即當你的系統因為某些原因而導致類似當機的情況時, 還可以透過某些特別的機制來讓你將之前未儲存的資料『救』回來!這就是鳥哥這裡所謂的『回復』功能啦! 那麼 vim 有沒有回復功能呢?有的! vim 就是透過『暫存檔』來救援的啦!

要用的时候再细看

四.vim的额外功能

vim 具有顏色顯示的功能,並且還支援許多的程式語法 (syntax)

当直接使用vi指令的时候其实是在使用vim指令

使用vim的时候,是有颜色提示的

①区块选择

按下v之后可以进行区块选择:

按下y赋值,在一般模式下按下p粘贴

②多档案编辑

vim [档案1] [档案2].。。。

使用:n翻到下一个档案,使用:N翻到上一个档案。

③多视窗功能

在指令列模式輸入『:sp {filename}』即可!那個 filename 可有可無, 如果想要在新視窗啟動另一個檔案,就加入檔名,否則僅輸入 :sp 時, 出現的則是同一個檔案在兩個視窗間!

④挑字补全功能

先用ctrl+x再用ctrl+o

⑤环境设定与记录

有沒有發現,如果我們以 vim 軟體來搜尋一個檔案內部的某個字串時,這個字串會被反白, 而下次我們再次以 vim 編輯這個檔案時,該搜尋的字串反白情況還是存在呢!甚至於在編輯其他檔案時, 如果其他檔案內也存在這個字串,哇!竟然還是主動反白耶!真神奇! 另外,當我們重複編輯同一個檔案時,當第二次進入該檔案時, 游標竟然就在上次離開的那一列上頭呢!真是好方便啊~但是,怎麼會這樣呢?

這是因為我們的 vim 會主動的將你曾經做過的行為登錄下來,好讓你下次可以輕鬆的作業啊! 那個記錄動作的檔案就是: ~/.viminfo !如果你曾經使用過 vim, 那你的家目錄應該會存在這個檔案才對。這個檔案是自動產生的, 你不必自行建立。而你在 vim 裡頭所做過的動作,就可以在這個檔案內部查詢到囉~ ^_^

⑥总的示意图

猜你喜欢

转载自blog.csdn.net/weixin_38967434/article/details/83344861