以下是一份 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 # 重做