| vi/vim 文字編輯器介面 |
|---|
![]() |
在大部份的 Linux 發行版中,有許多的服務都是要經過設定後才能正確運作,這些設定必須使用編輯器來修改,因此學習一個上手的文字編輯器能夠有效的提升 Linux 管理效率。
在本章節裡介紹的是 vi 文字編輯器。vi 是歷史悠久且在大部份 Linux 發行版本都包含的內建編輯器,因此瞭解 vi 後不旦能夠讓您在 Linux/Unix 中暢行,其它如 *BSD、macOS 等系統上也能適用。
在現今的主要發行版中,我們除了看到 vi 這字之外,有時候也會說 vim,vim 是 vi 的改進版本,除了 vi 原本的功能外外,還提供了自定環境 功能,然而 vi 仍為大多數發行版的文字編輯器,在本章節將定焦於 vi 文字編輯器。
完整的 vi 有很多功能,但大多情況我們會用到的不外乎下列功能:
以上幾個項目也滿足了大部份的文字編輯時所需要的功能,所以在本章節中將介紹如何簡單且快速的操作 vi。
在 vi 編輯器中,會有 3 個主要模式,分別如下:
在編輯模式與指令模式中,使用 [ESC] 鍵就可以回到 一般模式。
| vi/vim 不同模式 |
|---|
![]() |
以下我們就針對常用的部份進行說明。
在一般模式中,我們可以對文件上的游標進行控制。
| 功能 | 按鍵 |
|---|---|
| 游標往上 | [k] |
| 游標往下 | [j] |
| 游標往左 | [h] |
| 游標往右 | [l] |
| 游標移到第 1 行 | 1G |
| 游標移到第 5 行 | 5G |
| 游標移到第 n 行 | nG (n 為數字) |
| 游標移到最後行 | G |
| 游標移到行首 | ^ |
| 游標移到行尾 | $ |
下列方式可以進行文件操作。
| 功能 | 按鍵 |
|---|---|
| 複製 | yy |
| 複製 2 行 | 2yy |
| 複製 n 行 | nyy (n 為數字) |
| 在下一行貼上 | p (小寫英文) |
| 在上一行貼上 | P (大寫英文) |
| 剪下一個字元 | x |
| 剪下 2 個字元 | 2x |
| 剪下 n 個字元 | nx (n 為數字) |
| 刪除一整行 | dd |
| 刪除二行 | 2dd |
| 刪除 n 行 | ndd (n 為數字) |
指令模式通常是在一般模式中,直接輸入以 : 為開頭就會進入指令操作。
常用的指令如下所示:
| 功能 | 按鍵 |
|---|---|
| 存檔 | :w |
| 離開 | :q |
| 存檔後離開 | :wq |
| 不存檔離開 | :q! |
| 強制存檔 | :w! (需要有相關權限) |
| 尋找字串 | /{word} ({word} 代表要找的字串) |
在編輯模式裡,鍵盤上輸入的字符都會反應到檔案的本文中,也就是開始進行文件的編輯。使用下列的方式,可以從 一般模式 中進入編輯模式。
常用進入編輯模式的方法如下所示:
| 功能 | 按鍵 |
|---|---|
| 在目前位置開始編輯 | i |
| 在游標所在的下一字元開始編輯 | a |
| 在目前所在行下方新增新的一行後開始編輯 | o |
| 在目前所在行上方新增新的一行後開始編輯 | O |
在編輯模式中,如要回到一般模式,可以按下 [ESC]。
vi 啟動時,會在文件所在位置產生一個暫時性的交換檔案,這個交換檔案會在 vi 關閉時自行刪除,如果沒有進行正確的關閉方式,那麼這個交換檔就會被留下來,當您再次開啟該檔案時可能會出現警告的訊息。