Vim 常用快捷键及插件

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 从放弃到爱不释手》
相关推荐
VidDown17 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
VidDown17 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频
夜猫逐梦17 天前
【UE基础】03.蓝图与编辑器工作流
编辑器·ue·蓝图·ue编辑器
VidDown17 天前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
爱就是恒久忍耐17 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
bloglin9999917 天前
vscode中可视化的合并分支,在“合并编辑器中解析”中“与基线进行比较”是什么意思
ide·vscode·编辑器
zyplayer-doc18 天前
企业知识库安全与权限管理完全指南:从加密到审计的六层防护
人工智能·安全·pdf·编辑器·创业创新
古德new18 天前
鸿蒙PC迁移:Photoflare Qt 图片编辑器鸿蒙PC适配全记录
qt·编辑器·harmonyos
春日见18 天前
vscode的AI编程插件推荐:
大数据·ide·vscode·算法·机器学习·编辑器·ai编程
jieshenai18 天前
VScode sys.path,并使CTRL+左键可访问源码
ide·vscode·编辑器