LinuxMastery By asdlkfj

LinuxMastery 06: 編輯器的王者 Vim 基礎操作

為什麼必須學 Vim?

很多新手會問:「為什麼不用 Nano 或 VS Code?」答案很簡單:當你 SSH 進一台遠端的 Linux Server,或者系統壞掉進入救援模式時,Vim (或 Vi) 往往是你唯一能用的工具。Vim 的學習曲線雖陡,但一旦上手,其編輯效率無人能敵。它是「手不離鍵盤」哲學的極致體現。

核心模式與指令

Vim 有三種主要模式,初學者必須分清楚:

  1. Normal Mode (一般模式):預設模式。按 Esc 進入。這裡的按鍵是用來移動游標或下指令的,不能打字。

    • 移動:h (左), j (下), k (上), l (右)。當然方向鍵也可以,但高手都用 hjkl。
    • 刪除行:dd (刪除一行), 5dd (刪除五行)。
    • 複製貼上:yy (複製一行), p (貼上)。
    • 復原:u (Undo)。
  2. Insert Mode (插入模式):按 i 進入。這時候你打的字才會出現在螢幕上。按 Esc 回到 Normal Mode。

  3. Command-line Mode (指令列模式):在 Normal Mode 按 : 進入。

    • 儲存::w
    • 離開::q
    • 強制離開 (不存檔)::q!
    • 存檔並離開::wq:x

實戰範例

假設你要修改 /etc/hosts

  1. vim /etc/hosts
  2. 使用 j 移動到最後一行。
  3. o (在當前行下方新增一行並進入 Insert Mode)。
  4. 輸入 127.0.0.1 mywebsite.local
  5. Esc 回到 Normal Mode。
  6. 輸入 :wq 存檔離開。

實戰心法

不要試圖死記所有指令。先熟練 i, Esc, :wq 即可存活。接著慢慢學會 /keyword 搜尋,以及 :%s/old/new/g 全局替換。Vim 是一種肌肉記憶,每天強迫自己用一點點,一週後你就會愛上它。