Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

vi/vim 編輯器完全指南:從模式切換到正則替換的肌肉記憶訓練手冊

編輯:Linux 教學

vi 是 POSIX 標準編輯器,幾乎所有 Unix/Linux 系統預裝。掌握 vi 意味著在任何最小化容器、嵌入式設備、救援模式下都能高效編輯配置。本文將命令按場景分類,配合肌肉記憶訓練路徑,助你從「誤進 vi 只能重啟」進階為「行雲流水」。

啟動參數速查

命令場景
vi file新建/編輯,光標定首行
vi -r file恢復崩潰交換文件 (.swp)
vi -R file只讀模式 (等同 view file)
vi + file光標定末行
vi +n file光標定第 n 行
vi +/pattern file光標定首個匹配行
vi -c "cmd" file啟動前執行 Ex 命令 (如 -c "set nu")

兩大模式與切換

  • Normal/Command 模式 (預設): 按鍵被解釋為命令 (移動、刪除、複製、搜索…)。Esc 或 Ctrl+[ 從任何模式強制返回。
  • Insert 模式: 按鍵作為文本輸入。i/a/o/O/s/c 等命令進入。

移動命令 — 讓光標飛起來

類別命令效果記憶鉤子
字符/單詞h / l左/右一字符← / → 鍵位
w / b下/上一單詞**首**Word / Back
e / ge下/上一單詞**尾**End / Go End
0 / ^ / $行首 / 首非空白 / 行尾數字 0 / 首字符 ^ / 結尾 $
f{char} / t{char}行內向後/前跳至字符**上/前**Find / Till
; / ,重複上次 f/t 同/反方向;
行級j / k下/上一行鍵位下/上
{n}j / {n}k下/上 n 行數字前綴
gg / G文件首/末行Go Go / Go End
{n}G / :{n}跳轉第 n 行Ex 命令
屏幕H / M / L屏幕頂/中/底行High / Middle / Low
Ctrl+u / Ctrl+d向上/下半屏Up / Down
Ctrl+b / Ctrl+f向上/下一整屏Back / Forward
標記m{a-z}設置本地標記Mark
'{a-z} / `{a-z}跳轉標記行首 / 精確位置反引號精確

編輯命令 — 刪改查

操作命令說明
進入插入i / a / I / A / o / O光標前/後、行首/尾、下/上新行
刪除x / X / dd / D / dw / db字符/行/至行尾/單詞
修改 (刪除+進入插入)c / cc / cw / cb / C / s / S同刪除對應,C=cc, S=cc
復制 (Yank)yy / Y / yw / y$行/至行尾/單詞
粘貼p / P光標後/前
撤銷/重做u / Ctrl+r多級撤銷
重複上次編輯.最強效率鍵
可視模式v / V / Ctrl+v字符/行/塊選擇,配合 d/y/c

搜索與替換 — 正則表達式實戰

/pattern     # 向後搜索
?pattern     # 向前搜索
n / N        # 同/反方向重複
* / #        # 搜索光標下單詞向後/前
:s/old/new/           # 當前行首次替換
:s/old/new/g          # 當前行全局替換
:start,end s/old/new/g  # 行範圍替換
:%s/old/new/g         # 全文替換
:%s/old/new/gc        # 全文替換並逐個確認
# 分隔符可換:s#old#new#g  避免路徑含 / 時轉義
# 正則組:\d \s \w . * + ? ^ $ \( \) \| \[ \]  需轉義
# 替換引用:& (整個匹配) \1 \2 (捕獲組)

保存與退出

命令效果
:w保存
:wq / :x / ZZ保存並退出
:q!強制不保存退出
:w newfile另存為
:w !sudo tee %無權寫入時借 sudo 保存 (神技)

進階必殺技

  • 宏錄製: qa 開始錄製存入寄存器 a,q 結束,@a 回放,100@a 批量執行。
  • 多文件: :args *.c 加載列表,:next/:prev 切換,:argdo %s/old/new/g \| update 批量替換保存。
  • 分屏: :sp file 橫向,:vsp file 縱向,Ctrl+w w/h/j/k 切換。
  • 外部命令: :r !cmd 讀入命令輸出,:!cmd 執行命令,:%!sort 全文排序。
  • 配置持久化: ~/.vimrc 寫入 set nu hlsearch incsearch ignorecase smartcase tabstop=4 shiftwidth=4 expandtab。

肌肉記憶 7 天訓練計劃

  1. Day 1: hjkl 移動 + i/a/o 進入插入 + Esc 返回 + :wq 退出
  2. Day 2: w/b/e 單詞跳轉 + x/dd/yy/p 刪改複製粘貼 + u 撤銷
  3. Day 3: /? 搜索 + n/N 重複 + :s 替換 + . 重複編輯
  4. Day 4: gg/G 行跳轉 + Ctrl+u/d/f/b 屏幕翻頁 + m'/` 標記跳轉
  5. Day 5: 可視模式 v/V/Ctrl+v + 宏 qa/@a
  6. Day 6: 分屏 + 多文件 :args/:argdo
  7. Day 7: 實戰修改 /etc/nginx/nginx.conf + ~/.vimrc 定製

vi 學習曲線陡峭,但一旦形成肌肉記憶,編輯速度將遠超任何 IDE。堅持 7 天,終身受益。

Copyright © Windows教程網 All Rights Reserved