Vim 常用快捷键及插件

发布于:2025-08-16 ⋅ 阅读:(21) ⋅ 点赞:(0)

Vim 常用快捷键及插件

常用快捷键

insert 模式

快捷键 说明
C-h 删除一个字符
C-w 删除一个单词
C-u 删除一行
C-a 移动到行首
C-e 移动到行尾
C-b 向后移动
C-f 向前移动

normal 模式

光标移动
快捷键 说明
hjkl 光标上下左右移动
^ 跳到行首
$ 跳到行尾
b/wB/W 以单词为单位移动
f/t + 文本对象 行内移动到指定文本对象处
() 句间移动
{} 段间移动
% 跳转匹配的括号或标签
* 搜索并跳转到下一个单词
C-B/C-F 上下翻页
C-u/C-d 上下翻半页
C-y/C-e 屏幕滚动
数字 + G 跳转到指定行
gg 跳转到首行
G 跳转到尾行
数字 + | 跳转到指定列
M 移动到屏幕中间
H 移动到屏幕上方
L 移动到屏幕下方
zz 将内容移动到屏幕中间
zt 将内容移动到屏幕顶部
zb 将内容移动到屏幕下方
文本修改
快捷键 说明
d + 文本对象 删除(dd)
c + 文本对象 修改(C 表示修改到行尾)
s/S 修改单个字符/修改整行
x 删除字符
a/A 在当前字符后进入插入模式/在当前行尾进入插入模式
i/I 在当前字符前进入插入模式/在当前行首进入插入模式
o/O 在当前行下方插入新行并进入插入模式/在当前行上方插入新行并进入插入模式
r/R 替换单个字符/替换多个字符
u/U 撤销/撤销当前行所有修改
补全
快捷键 说明
C-n/C-p 补全单词
C-x C-f 补全文件名
C-x C-o 补全代码(需安装插件)
快捷键 说明
q + 寄存器名 录制宏
q 结束录制
@ + 寄存器 播放宏

命令行模式

快捷键 说明
normal + 命令 在命令行执行 normal 模式的命令
[range] s [ubstitute]/{pattern}/[flags] 搜索替换(flag 可选 g/c/n,表示全部替换/替换前确认/报告匹配到的次数)

窗口操作

快捷键 说明
:vs [文件名] 竖分屏
:sp [文件名] 横分屏
C-w + 方向键 窗口跳转
C-w w 跳至下一个窗口
C-w n 打开新窗口
C-w c 关闭当前窗口
C-w q 退出当前窗口
C-w o 仅保留当前窗口
C-w = 所有窗口等大
数字 + C-w _ 设置窗口高度
`数字 + C-w `
数字 + C-w + 增加窗口高度
数字 + C-w - 减少窗口高度
数字 + C-w > 增加窗口宽度
数字 + C-w > 减少窗口宽度
vimdiff/gvimdiff + 文件1 + 文件2 双窗口内容对比
:vert diffsplit + 文件 在 vim 内启动对比
C-w T 将当前窗口转为一个新标签页

标签页

快捷键 说明
:tab 命令行命令 在新标签页中展示命令结果
:tabs 显示所有标签页列表
:tabedit 打开新空白标签页
:tabclose 关闭当前标签页
:gt 切换到下一个标签页
:gT 切换到上一个标签页
:tabfirst 切换到第一个标签页
:tablast 切换到最后一个标签页

缓冲区

快捷键 说明
:ls 显示缓冲区列表
:b 编号 跳转到对应缓冲区
:bdelete/bd 删除编号对应的缓冲区
:bnext/bn 跳至下一个缓冲区
:bNext/bN 跳至上一个缓冲区
:bfirst 跳至第一个缓冲区
:blast 跳至最后一个缓冲区

寄存器

通过 " 寄存器名 来使用寄存器。

快捷键 说明
无名寄存器 当操作没有加 " 时,默认使用的是无名寄存器。
a-z 有名寄存器。手动指定时才会使用。
0-9 数字寄存器。0 号寄存器存放最近一次复制的内容。1-9 号寄存器存放上次、倒数第二次……倒数第九次删除的文本(整行)
+ 存放复制到系统剪贴板的内容。
% 当前文件名
. 上次插入的文本

快捷键映射

  • map:递归映射。
  • noremap:非递归映射。

插件

vim 插件是使用 vimscript 或其他语言编写的 vim 扩展。一般使用 vim 插件管理器来安装和管理,如 vim-plug

插件网站

寻找插件可在 vimawesome 内查找,也可直接浏览器搜索。

常用插件

NERDTree:文件目录树。

tagbar:代码大纲。

vim-interestingwords:高亮感兴趣单词。

easyemotion:快速查找并移动光标。

vim-surround:快速增删修改引号、括号等。

vim-commentary:快速注释。

gc

indentline:显示代码缩进辅助线。

vim-startify:修改 vim 的启动界面,并可浏览最近打开的文件。

vim-airline:修改状态栏。

fzf.vim:模糊搜索。

  • Ag 要搜索的内容
  • Files 文件名

ctrlp:模糊查找文件。

far.vim:批量替换一个项目中的所有字符串。

  • Far 要被替换的内容 要替换的内容 匹配模式
  • :Fardo:替换。

python-mode:适配 python 的插件,提供补全、格式化、跳转、重构、折叠等功能。

deoplete.nvim:代码补全。

coc.vim:代码补全。

neoformat:代码格式化。

Fugitive:在 vim 中使用 git。

vim-gitgutter:在 git 管理的项目中显示文件变动。

gv.vim:在 vim 中查看代码提交变更。

开源配置

SpaceVim


参考

  1. 《Vim 实用技巧必知必会》
  2. 《玩转 Vim 从放弃到爱不释手》

网站公告

今日签到

点亮在社区的每一天
去签到