萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux vi/vim 編輯器完整操作指南:三大模式、核心指令與進階技巧

vi 是 Unix/Linux 系統標準文本編輯器,vim(Vi IMproved) 是其功能增強版,提供語法高亮、多層撤銷、視覺區塊、外掛擴展等強大功能,是系統管理、程式開發、配置檔編輯的首選工具。本文系統整理 vim 三大模式切換、核心編輯指令、命令列模式操作與進階效率技巧。

三大模式架構

  1. 一般模式(Normal Mode):啟動預設模式,游標移動、刪除/複製/貼上、搜尋、跳轉、撤銷。鍵入 Esc 可從任意模式返回。
  2. 編輯模式(Insert Mode):輸入文字,底列顯示 -- INSERT --。
  3. 命令列模式(Command-line Mode):輸入 :、/、? 進入,執行儲存、離開、取代、設定、外部指令等。

一般模式核心指令速查

游標移動

按鍵動作
h/j/k/l左/下/上/右 移動一字元
w / b下一字首 / 上一字首
0 / ^ / $行首 / 第一個非空白字元 / 行尾
gg / G檔案首行 / 末行
nG / :n跳至第 n 行
Ctrl+f / Ctrl+b向下/向上翻一頁
Ctrl+d / Ctrl+u向下/向上翻半頁
H / M / L螢幕頂行/中行/底行首非空字元

刪除、複製、貼上

指令動作
x / X刪除游標後/前一字元
dd刪除整行(剪貼簿)
D刪除至行尾
ndd刪除 n 行(含當前行)
dG / d1G刪除至檔案尾/首
yy複製整行
nyy / ynj複製 n 行 / 向下 n+1 行
p / P貼上於游標下一行 / 上一行
J合併當前行與下一行
u / Ctrl+r撤銷 / 重做
.重複上一個編輯動作

編輯模式進入方式

按鍵插入位置
i游標前
I行首非空白字元前
a游標後
A行尾
o下一行行首新增行
O上一行行首新增行
r取代游標字元
R進入取代模式,持續覆寫至 Esc

命令列模式核心指令

指令功能
:w儲存
:w filename另存新檔
:wq / :x儲存並離開
:q離開(未修改)
:q!強制離開不存檔
:set nu / :set nonu顯示/隱藏行號
:/pattern向下搜尋 pattern
:?pattern向上搜尋 pattern
:s/old/new/g當前行全域取代
:n1,n2s/old/new/g第 n1~n2 行全域取代
:%s/old/new/g全檔案全域取代
:r filename讀入檔案內容插入游標下一行
:n1,n2 w filename將 n1~n2 行存為新檔
:!cmd執行外部指令(如 :!ls)

vim 模式示意圖

進階效率技巧

  • 視覺模式:v 字元、V 行、Ctrl+v 區塊 → 移動游標選取 → d/y/> 操作。
  • 多檔案編輯:vim file1 file2 → :n 下一檔、:prev 上一檔、:buffers 列表。
  • 分割視窗::sp 水平、:vsp 垂直 → Ctrl+w 方向鍵切換。
  • 宏錄製:qa 開始錄製存入暫存器 a → 操作 → q 結束 → @a 重放。
  • vimrc 精簡配置(~/.vimrc):
    set number relativenumber
    set tabstop=4 shiftwidth=4 expandtab
    set hlsearch incsearch ignorecase smartcase
    syntax on
    filetype plugin indent on

新手避坑指南

  • 進入 vim 後先按 Esc 確保在一般模式,再輸入指令。
  • 誤進編輯模式亂按鍵盤 → Esc → u 撤銷。
  • :q! 強制離開不存檔,:wq 存檔離開,切勿混淆。
  • 系統預設 vi 可能為 vim-tiny,功能受限,建議安裝 vim-gtk3/vim-enhanced 完整版。

熟練 vim 核心指令肌肉記憶,配合 .vimrc 個人化配置,即可獲得「思維速度 = 編輯速度」的極致體驗,成為 Linux 下最高效的文字操作者。

copyright © 萬盛學電腦網 all rights reserved