Post
Vim 高频操作与效率技巧
Vim 编辑器常用操作命令指南
概述
Vim 是一款高度可定制的文本编辑器,以其高效的键盘操作和模式切换著称。本文整理了其核心操作命令,涵盖文本编辑、导航、搜索替换、分屏等场景,适用于提升代码编辑效率。所有命令均基于普通模式(Normal Mode)和可视模式(Visual Mode)的默认配置。
核心操作分类
1. 快速文本导航
gg:跳转到文件首行G:跳转到文件末行:行号:直接定位到指定行号0:移动到行首$:移动到行尾w:向前跳转一个单词b:向后跳转一个单词
2. 文本编辑与删除
x:删除光标处单个字符dd:剪切当前行dG:删除光标位置到文件末尾的所有内容d1G:删除当前行至文件开头的内容cw:修改当前单词cc:修改整行内容r:替换光标处单个字符
3. 复制粘贴操作
yy:复制当前行y$:复制从光标到行尾内容yw:复制当前单词p:在光标后粘贴内容P:在光标前粘贴内容"+y:复制到系统剪贴板(需配置 clipboard 插件)
4. 搜索与替换
/keyword:向下搜索关键词?keyword:向上搜索关键词n:继续查找下一个匹配项N:查找上一个匹配项:%s/old/new/g:全文替换所有匹配项:s/old/new/g:替换当前行所有匹配项
5. 重复与宏操作
.:重复上一次编辑操作数字+命令:如5dd删除5行qa...q:将操作序列记录到寄存器a@a:执行寄存器a中的宏@@:重复上次执行的宏
6. 分屏与窗口管理
:sp 文件名:水平分割窗口并打开文件:vsp 文件名:垂直分割窗口并打开文件Ctrl+w h/j/k/l:在窗口间移动光标Ctrl+w =:均分所有窗口大小Ctrl+w _:最大化当前窗口高度Ctrl+w |:最大化当前窗口宽度
7. 代码缩进控制
>>:向右缩进当前行<<:向左缩进当前行>G:从当前行到文件末尾向右缩进=G:从当前行到文件末尾自动缩进gg=G:对整个文件进行自动缩进
8. 可视化选择模式
v:进入字符级选择模式V:进入行级选择模式Ctrl+v:进入块级选择模式(矩形区域)gv:重新选择上次的可视区域
9. 自动补全功能
Ctrl+n:向后查找并补全Ctrl+p:向前查找并补全Ctrl+x Ctrl+f:文件名补全Ctrl+x Ctrl+l:整行补全
10. 保存与退出
:w:保存当前文件:w 文件名:另存为指定文件名:wa:保存所有打开的文件:wq:保存并退出:x:保存并退出(仅当文件有修改时写入)ZZ:快捷键,等效于:x
注意事项
- 模式切换:所有命令默认在普通模式下生效,需按
Esc键退出插入模式。 - 插件依赖:
"+y等系统剪贴板操作需确保 Vim 编译时启用了 clipboard 特性。 - 宏录制:录制宏时需注意避免包含不必要的操作(如移动光标指令)。
- 分屏限制:垂直分屏可能受终端窗口宽度限制,建议在 120 列以上终端使用。
- 缩进规则:自动缩进功能依赖文件类型检测,需确保已加载对应语法插件。
适用边界说明
dG和d1G命令适用于需要批量删除大段内容的场景,但需注意光标位置可能影响删除范围。:sp/:vsp命令在终端环境和 GUI 版本(如 gVim)中的表现可能略有差异。gg=G自动缩进功能对代码格式要求较高,复杂项目建议配合格式化插件(如 vim-autoformat)。