以下是一份 Vim 命令大全 ,涵蓋 編輯模式(Insert Mode) 、命令模式(Normal Mode) 和 視圖模式(Visual Mode) 的常用操作,適合初學者和進階用戶使用。
🧾 Vim 模式簡介
Vim 是一個模式化編輯器 ,主要有以下幾種模式:
模式 進入方式 說明 正常模式(Normal Mode) 啟動 Vim 默認進入此模式 可執行移動光標、復制粘貼等操作 插入模式(Insert Mode) 按 i
, a
, o
等鍵進入 可以輸入文本內容 視覺模式(Visual Mode) 按 v
, V
, Ctrl + v
進入 可以選擇文本塊進行操作 命令行模式(Command-line Mode) 按 :
或 /
進入 執行保存、搜索、替換等命令
🔧 一、正常模式(Normal Mode)命令
啟動 Vim 默認進入此模式。按下 Esc
可從其他模式返回。
🔍 光標移動
命令 功能 h
向左移動一個字符 j
向下移動一行 k
向上移動一行 l
向右移動一個字符 w
移動到下一個單詞的開頭 b
移動到上一個單詞的開頭 e
移動到當前或下一個單詞的結尾 0
移動到當前行的行首 $
移動到當前行的行尾 gg
跳轉到文件開頭 G
跳轉到文件末尾 nG
跳轉到第 n 行(如 5G
到第 5 行) Ctrl + f
向下翻頁 Ctrl + b
向上翻頁 Ctrl + d
向下滾動半頁 Ctrl + u
向上滾動半頁
?? 編輯操作
命令 功能 x
刪除當前字符 X
刪除前一個字符 dw
刪除一個單詞 dd
刪除整行 ndd
刪除 n 行(如 3dd
刪除 3 行) d$
刪除從光標位置到行尾 d0
刪除從光標位置到行首 yy
復制當前行 nyy
復制 n 行 yw
復制一個單詞 p
在光標下方粘貼 P
在光標上方粘貼 u
撤銷一次修改 Ctrl + r
重做一次撤銷 .
重復上一次編輯操作
?? 文件操作
命令 功能 :w
保存文件 :w filename
另存為 filename :q
退出(無修改時) :q!
強制退出且不保存修改 :wq
保存并退出 :wq!
強制保存并退出 :e filename
打開另一個文件 :set number
或 :set nu
顯示行號 :set nonumber
或 :set nonu
隱藏行號 :set list
顯示隱藏字符(如空格、Tab) :set tabstop=4
設置 Tab 寬度為 4 個字符 :set autoindent
自動縮進 :set paste
進入粘貼模式(防止自動縮進干擾) :set nopaste
關閉粘貼模式
🔍 搜索與替換
命令 功能 /pattern
向后搜索 pattern ?pattern
向前搜索 pattern n
查找下一個匹配項 N
查找上一個匹配項 :%s/old/new/g
替換整個文件中的 old 為 new :1,10s/old/new/g
替換第 1~10 行中的 old 為 new :s/old/new/
替換當前行第一個匹配項 :s/old/new/g
替換當前行所有匹配項 :s/old/new/gc
替換當前行所有匹配項,并確認每個替換
?? 二、插入模式(Insert Mode)
按以下任意鍵可進入插入模式,按 Esc
返回正常模式。
命令 功能 i
在光標前插入 I
在行首插入 a
在光標后插入 A
在行尾插入 o
在當前行下方新建一行并插入 O
在當前行上方新建一行并插入 s
刪除當前字符并進入插入模式 S
刪除當前行并進入插入模式
🧮 三、視覺模式(Visual Mode)
按以下任意鍵進入視覺模式,用于選中文本進行操作。
命令 功能 v
字符選擇模式(Character-wise Visual Mode) V
行選擇模式(Line-wise Visual Mode) Ctrl + v
塊選擇模式(Block-wise Visual Mode) o
切換光標起始點 >
向右縮進選中區域 <
向左縮進選中區域 y
復制選中內容 d
或 x
刪除選中內容 c
刪除選中內容并進入插入模式 :
對選中區域執行命令(如 :'<,'>s/old/new/g
)
💡 四、命令行模式(Command-line Mode)
按 :
或 /
或 ?
進入該模式,用于執行命令。
命令 功能 :w
保存 :q
退出 :wq
保存并退出 :q!
不保存強制退出 :/pattern
搜索 pattern 并跳轉到第一次出現的位置 :help
打開幫助文檔 :help keyword
查找關鍵字的幫助信息 :registers
查看剪貼板寄存器內容 :map
查看按鍵映射 :syntax on/off
開啟/關閉語法高亮 :filetype plugin indent on
開啟智能縮進和插件支持
🎨 五、高級技巧(可選)
技巧 命令 多窗口分屏 :split
(水平)或 :vsplit
(垂直)切換窗口 Ctrl + w + 方向鍵
打開多個文件 vim file1 file2
在多個文件之間切換 :next
/ :prev
/ :first
/ :last
加載插件管理器(如 Plug) :PlugInstall
(需配置 vim-plug)使用宏錄制 q{a-z}
錄制宏,@{a-z}
執行宏快速注釋代碼(結合插件) 如 NERD Commenter
: <leader>cc
注釋選中行
📄 六、實用示例
示例 1:查找并替換
:%s/foo/bar/g
將全文中所有 foo
替換為 bar
示例 2:顯示行號并跳轉到第 50 行
:set number
:50
示例 3:多窗口打開兩個文件
:split otherfile.txt
示例 4:快速刪除 5 行
5dd
📚 總結表格
操作 命令 進入插入模式 i
, a
, o
等返回正常模式 Esc
刪除字符 x
刪除行 dd
復制行 yy
粘貼 p
撤銷 u
重做 Ctrl + r
保存 :w
退出 :q
保存并退出 :wq
搜索 /keyword
替換 :%s/old/new/g
顯示行號 :set number
進入選擇模式 v
, V
, Ctrl + v
如果你是新手,可以先掌握以下核心命令:
i # 進入插入模式
Esc # 返回正常模式
:wq # 保存并退出
:x # 保存并退出(簡寫)
dd # 刪除一行
yy p # 復制粘貼一行
u # 撤銷
Ctrl + r # 重做