秦大炮的vimrc配置说明
秦大炮的vimrc配置说明
July 7, 2026
我的 vimrc
" VIM使用最大原则(只要功能够用就不要折腾,不要轻易更新.时间要花在对的事情上)
" ------------------------------------------------------------------------------
" o
" o ooooooooo
" o ooooo o o
" oooooo o o o o
" o o o o o o
" o o o o o o
" o o o ooooooooo
" o o o o
" oooooooo o o o
" o o o o o
" o o o o o oooooo
" o o o o o o
" o o ooooo o o o
" o o o o o o o
" o o o ooooooooo
" o o
" ------------------------------------------------------------------------------我的配置的项目地址是:https://github.com/qindapao/my_vim_config
它不是先进的配置,甚至有些地方显得落后,但是本着能用就不折腾的原则,我现在只有小的修补,大的变动没有了,甚至 vim 的版本我现在都懒得更新,只要没有太突出的问题,都先用着!
原则就是:基本能用就不折腾,比较爽就行了,不追求最爽!时间是宝贵的,应该花在创造上面。
我的操作整理
这里主要的目的是给自己整理看的表格,所以不会详细解释,如果有人对我的配置感兴趣,可以留言或者邮件问我。
┌─────┬──────────────┬────────────────────────────────────┐
│ │(leader)scc │高亮当前列 │
│视 │(leader)scn │取消高亮当前列 │
│觉 │(leader)vea │设置虚拟文本 │
│辅 │(leader)ven │取消设置虚拟文 │
│助 │ │本 │
│ │(leader)cc0 │conceal级别0 │
│ │(leader)cc2 │conceal级别2 │
│ │(leader)sof │取消语法高亮(提高效率) │
│ │(leader)son │打开语法高亮(增加可读性) │
│ │(C-CR) │当前高亮的下一个 │
│ │(C-S-CR) │当前高亮的上一个 │
│ │(M-CR) │所有高亮的下一个 │
│ │(M-S-CR) │所有高亮的上一个 │
│ │ │ │
├─────┼──────────────┼────────────────────────────────────┤
│信 │ │ │
│息 │(leader)pwd │显示当前工作目 │
│显 │ │录 │
│示 │ │ │
├──┬──┼──────────────┼────────────────────────────────────┤
│编│特│(Leader)x │删除博客图片链 │
│辑│殊│ │接多余部分 │
│ │ │(leader) │移除文件中所有行尾的空白(全文) │
│ │ │(leader) │ │
│ │ │(space) │ │
│ │ │(leader) [V] │移除选区中所有行尾空白(可视) │
│ │ │(leader) │ │
│ │ │(space) │ │
│ │ │(C-S-J) │映射插入模式下和全局替换模式(R/gR)下│
│ │ │(C-S-H) │的快速移动 │
│ │ │(C-S-L) │ │
│ │ │(C-S-K) │ │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │s │S( [V] │小括号包围有空格 │
│ │u │S{ [V] │大括号包围有空格 │
│ │r │S) [V] │小括号包围无空格 │
│ │r │S} [V] │大括号包围无空格 │
│ │o │S* [V] │双*包围无空格(加粗) │
│ │u │S~ [V] │双~包围无空格(删除) │
│ │n │S_ [V] │双_包围无空格(高亮) │
│ │d │S/ [V] │双/包围无空格(斜体) │
│ │ │S' [V] │双'包围无空格(内联代码) │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │对│(leader)tb │输入后需要再输入要对齐的符号 │
│ │齐│ │(目前支持 空格 = : -> =>) │
│ │ │ │如果想要更多,直接输入 │
│ │ │ │ : Tabularize /x 这样 │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │选│(M-i) │普通模式下扩大选区 │
│ │区│(M-i) │可视模式下扩大选区 │
│ │扩│(M-o) │普通模式下缩小选区 │
│ │展│(M-o) │可视模式下缩小选区 │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │表│(leader)tm │打开和关闭表格模式 │
│ │格│ │ │
│ │模│ │ │
│ │式│ │ │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │命│(c-j) [C] │命令行历史记录下翻页 │
│ │令│(c-k) [C] │命令行历史记录上翻页 │
│ │行│ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
├──┼──┴──────────────┼────────────────────────────────────┤
│快│(c-;) │跳转到某一个关键字 │
│速│(M-;) │跳转制表符框线(绘制文本图快速导航) │
│跳│(c-s-:) │窗口跳转 │
│转│ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
├──┼──┬──────────────┼────────────────────────────────────┤
│书│自│(leader)svm │重置viminfo(新项目切换时) │
│签│定│(leader)ama │添加标记注释 │
│ │义│(leader)amx │删除标记注释 │
│ │ │(leader)smm │清除所有标记 │
│ │ │(leader)smd │清除所有小写字母标记 │
│ │ │(leader)smD │清除所有大写字母标记 │
│ │ │(leader)smn │添加下一个小写字母标记 │
│ │ │(leader)smN │添加下一个大写字母标记 │
│ │ │(leader)smx │关闭显示当前文件所有标记 │
│ │ │(leader)smt │显示当前文件所有标记 │
│ │ │(leader)smu │更新显示当前文件所有标记 │
│ │ │(leader)sms │静态显示当前文件所有标记 │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │v │(Leader)bt │切换书签打开与关闭 │
│ │i │(Leader)bi │创建一个注释书签 │
│ │m │(Leader)ba │显示所有的书签 │
│ │- │(Leader)bn │跳转到下一个书签 │
│ │b │(Leader)bp │跳转到上一个书签 │
│ │o │(Leader)bc │删除当前书签 │
│ │o │(Leader)bx │删除所有书签 │
│ │k │(Leader)bk │当前书签行上移(可加数字前缀) │
│ │m │(Leader)bj │当前书签行下移(可加数字前缀) │
│ │a │(Leader)bl │书签移动到某一行(可加数字前缀) │
│ │r │ │ │
│ │k │ │ │
│ │s │ │ │
├──┼──┴──────────────┼────────────────────────────────────┤
│标│tn │创建新标签页 │
│签│tc │关闭当前标签页 │
│页│tC │强制关闭当前标签页 │
│ │to │只保留当前标签页 │
│ │(Tab) │向前切换标签页 │
│ │(S-Tab) │向后切换标签页 │
│ │(M-1) │切换到第1个标签页 │
│ │(M-2) │切换到第2个标签页 │
│ │(M-3) │切换到第3个标签页 │
│ │(M-4) │切换到第4个标签页 │
│ │(M-5) │切换到第5个标签页 │
│ │(M-6) │切换到第6个标签页 │
│ │(M-7) │切换到第7个标签页 │
│ │(M-8) │切换到第8个标签页 │
│ │(M-9) │切换到第9个标签页 │
│ │(M-0) │切换到最后一个标签页 │
├──┼─────────────────┼────────────────────────────────────┤
│窗│sz │关闭当前窗口 │
│口│(F2) │关闭当前窗口 │
│管│se │纵向分屏 │
│理│sw │横向分屏 │
│ │sn │只保留当前窗口 │
│ │sc │关闭当前拆分层级的其它窗口 │
├──┼─────────────────┼────────────────────────────────────┤
├──┼─────────────────┼────────────────────────────────────┤
│文│(leader)new │创建一个新文件 │
│件│(leader)enew │创建一个新文件并编辑 │
│管│(leader)(F9) │浏览器中打开当前编辑的html文件 │
│理│(leader)oe │使用emacs打开当前文件当前行 │
│ │(leader)(leader)p│AsciiDoc 文件浏览器预览 │
│ │(leader)e [V] │打开选择的文件(当前 buffer) │
│ │(leader)t [V] │打开选择的文件(tab 打开) │
│ │(leader)s [V] │打开选择的文件(纵向拆分) │
│ │(leader)v [V] │打开选择的文件(横向拆分) │
│ │(leader)exp │外部文件浏览器中打开当前文件所在目录│
│ │(leader)rt │刷新目录树状态 │
│ │(leader)rf │进入当前文件对应的目录树并且刷新目录│
│ │ │树状态 │
│ │(F8) │切换目录树打开关闭 │
│ │(F4) │Tagbar 切换打开和关闭 │
│ │(F3) │打开vim自带的文件管理器 │
│ │ │ │
│ │ │ │
├──┼──┬──────────────┼────────────────────────────────────┤
│d │v │(Leader)ver │编辑 vim 配置文件 │
│e │i │(Leader)vr │重新加载 vim 配置文件 │
│b │m │ │ │
│u │r │ │ │
│g │c │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
│ │ │ │ │
├──┼──┴──────────────┼────────────────────────────────────┤
│翻│Alt + = │翻译开始前先打开内置终端 │
│译│(leader)te │简短的翻译(中->英) │
│ │(leader)tf │完整的翻译(中->英) │
│ │(C-t) │简短的翻译(英->中) │
│ │(C-S-T) │完整的翻译(英->中) │
│ │(leader)p │简单情况进行替换 │
│ │(leader)(S-P) │复杂情况进行替换 │
├──┼─────────────────┼────────────────────────────────────┤
│标│(leader)gsnm │markdown生成数字目录序号 │
│记│(leader)gsnz │zim生成数字目录序号 │
│文│ │ │
│本│ │ │
├──┼──┬──────────────┼────────────────────────────────────┤
│搜│文│(c-p) │搜索文件(项目中) │
│索│件│(leader)fm │搜索最近打开文件列表 │
│和│搜│(leader)(C-P) │文件搜索但是保持搜索窗口不关闭 │
│替│索│ │ │
│换├──┼──────────────┼────────────────────────────────────┤
│ │状│(leader)frr │重新打开上一次 rg 搜索结果 │
│ │态│ │ │
│ │ │ │ │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │导│]n │跳到下一个结果 │
│ │航│]p │跳到上一个结果 │
│ │ │ │ │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │字│(leader)frb │[Vn] 非全词(项目中) │
│ │符│(leader)frw │[Vn] 全词(项目中) │
│ │串│ │ │
│ │搜│ │ │
│ │索│ │ │
│ │ │ │ │
│ │ │ │ │
│ │正│(leader)frm │手动输入正则式(项目中) │
│ │则│gfl [V] │不开启二次过滤的保留搜索列表(跳转后)│
│ │搜│gnfl [V] │开启二次过滤的保留搜索列表(跳转后) │
│ │索│ │ │
│ │ │ │ │
│ │特│(leader)fll │搜索当前文件的所有行 │
│ │殊│(leader)flk │搜索当前文件的所有行(窗口不关闭) │
│ │搜│(leader)fw │搜索打开的窗口 │
│ │索│(leader)f1 │搜索leaderf自己 │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │c │(leader)cfto │切换搜索窗口的打开和关闭 │
│ │t │(leader)cfip │项目级 不敏感,非全词 │
│ │r │(leader)cfsp │项目级 敏感,非全词 │
│ │l │(leader)cfwp │项目级 敏感,全词 │
│ │s │ │ │
│ │f │(leader)cfic │当前目录递归 不敏感,非全词 │
│ │ │(leader)cfsc │当前目录递归 敏感,非全词 │
│ │ │(leader)cfwc │当前目录递归 敏感,全词 │
│ │ │ │ │
│ │ │(leader)cfid │仅限当前目录 不敏感,非全词 │
│ │ │(leader)cfsd │仅限当前目录 敏感,非全词 │
│ │ │(leader)cfwd │仅限当前目录 敏感,全词 │
│ │ │ │ │
│ │ │(leader)cfif │当前文件 不敏感,非全词 │
│ │ │(leader)cfsf │当前文件 敏感,非全词 │
│ │ │(leader)cfwf │当前文件 敏感,全词 │
│ │ │ │ │
│ │ │(leader)cfmip │项目级 手动搜索,大小写不敏感 │
│ │ │(leader)cfmic │当前目录递归 手动搜索,大小写不敏感 │
│ │ │(leader)cfmid │仅限当前目录 手动搜索,大小写不敏感 │
│ │ │(leader)cfmif │当前文件 手动搜索,大小写不敏感 │
│ │ │ │ │
│ │ │(leader)cfmsp │项目级 手动搜索,大小写敏感 │
│ │ │(leader)cfmsc │当前目录递归 手动搜索,大小写敏感 │
│ │ │(leader)cfmsd │仅限当前目录 手动搜索,大小写敏感 │
│ │ │(leader)cfmsf │当前文件 手动搜索,大小写敏感 │
│ │ │ │ │
│ │ │(leader)cfip │项目级 不敏感,非全词 │
│ │ │(leader)cfsp │项目级 敏感,非全词 │
│ │ │(leader)cfwp │项目级 敏感,全词 │
│ │ │ │ │
│ │ │(leader)cfic │当前目录递归 不敏感,非全词 │
│ │ │(leader)cfsc │当前目录递归 敏感,非全词 │
│ │ │(leader)cfwc │当前目录递归 敏感,全词 │
│ │ │ │ │
│ │ │(leader)cfid │仅限当前目录 不敏感,非全词 │
│ │ │(leader)cfsd │仅限当前目录 敏感,非全词 │
│ │ │(leader)cfwd │仅限当前目录 敏感,全词 │
│ │ │ │ │
│ │ │(leader)cfif │当前文件 不敏感,非全词 │
│ │ │(leader)cfsf │当前文件 敏感,非全词 │
│ │ │(leader)cfwf │当前文件 敏感,全词 │
│ │ │ctrlsf面板 │可以执行全局硬核替换操作 │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │自│(leader)rw │[Vn] 替换当前单词 │
│ │定│(leader)rn │[V] 可视模式替换选择区域复制的单词 │
│ │义│ │ 为新单词 │
│ │ │(leader)vs │vim内置替换功能封装 │
│ │ │(leader)swa │当前文件当前光标下单词全词自动搜索 │
│ │ │(leader)swm │当前文件全词手动搜索 │
│ │ │(leader)ra │普通模式替换文本中的^@为换行 │
│ │ │(leader)ra │可视模式替换文本中的^@为换行 │
│ │ │(leader)lv │在location window(本地列表)列出搜索 │
│ │ │ │结果 │
├──┼──┴──────────────┼────────────────────────────────────┤
│内│(Esc) │进入到普通模式 │
│置│(C-v) │粘贴系统剪切板 │
│终│(Alt + =) │切换终端窗口打开和关闭 │
│端│(leader)tbd │删除所有的终端buffer │
│操│ │ │
│作│ │ │
├──┼─────────────────┼────────────────────────────────────┤
│Q │(leader)qo │打开快速修复窗口 │
│u │(leader)qc │关闭快速修复窗口 │
│i │(leader)qn │跳转到下一个快速修复项目 │
│c │(leader)qp │跳转到上一个快速修复项目 │
│k │ │ │
│f │ │ │
│i │ │ │
│x │ │ │
├──┼─────────────────┼────────────────────────────────────┤
│本│(leader)lo │打开本地窗口 │
│地│(leader)lc │关闭本地窗口 │
│列│(leader)ln │跳转到本地窗口的下一个项目 │
│表│(leader)lp │跳转到本地窗口的上一个项目 │
├──┼─────────────────┼────────────────────────────────────┤
│l │(leader)af │关闭ale的语法检查 │
│i │(leader)ao │打开ale的语法检查 │
│n │(F9) │手动格式化 │
│t │ │ │
├──┼─┬───────────────┼────────────────────────────────────┤
│t │g│(leader)gws[nV]│查找符号 │
│a │u│(leader)gwg[nV]│查找符号定义 │
│g │t│(leader)gwc[nV]│调用这个函数的函数 │
│s │e│(leader)gwt[nV]│查找字符串 │
│导│n│(leader)gwe[nV]│查找正则表达式 │
│航│t│(leader)gwf[nV]│查找文件名 │
│ │a│(leader)gwi[nV]│查找包含当前头文件的文件 │
│ │g│(leader)gwd[nV]│此函数调用的函数 │
│ │s│(leader)gwa[nV]│查找为此符号赋值的位置 │
│ │_│(leader)gwz[nV]│在ctags的数据库中查找当前单词 │
│ │p│(leader)gns[nV]│查找符号(当前窗口) │
│ │l│(leader)gng[nV]│查找符号定义(当前窗口) │
│ │u│(leader)gnc[nV]│调用这个函数的函数(当前窗口) │
│ │s│(leader)gnt[nV]│查找字符串(当前窗口) │
│ │ │(leader)gne[nV]│查找正则表达式(当前窗口) │
│ │ │(leader)gnf[nV]│查找文件名(当前窗口) │
│ │ │(leader)gni[nV]│查找包含当前头文件的文件(当前窗口) │
│ │ │(leader)gnd[nV]│此函数调用的函数(当前窗口) │
│ │ │(leader)gna[nV]│查找为此符号赋值的位置(当前窗口) │
│ │ │(leader)gnz[nV]│在ctags的数据库中查找当前单词(当前 │
│ │ │ │窗口) │
│ ├─┼───────────────┼────────────────────────────────────┤
│ │l│(leader)fgd[nV]│跳转到定义 │
│ │e│(leader)fgr[nV]│跳转到引用 │
│ │a│(leader)fgs[nV]│跳转到符号 │
│ │d│(leader)fgg[nV]│跳转到字符串(启动搜索功能) │
│ │e│(leader)fgo │重新打开最近的跳转命令 │
│ │r│(leader)fgn │结果列表的下一个元素 │
│ │f│(leader)fgp │结果列表的上一个元素 │
├──┼─┴┬──────────────┼────────────────────────────────────┤
│g │状│(leader)ggo │打开 gitgutter │
│i │态│(leader)ggc │关闭 gitgutter │
│t ├──┼──────────────┼────────────────────────────────────┤
│ │提│(leader)gcc │追加上一次提交 │
│ │交│:Flog │打开提交历史树 │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │对│(leader)gda │对比未stage的所有差异 │
│ │比│(leader)gdf │对比未stage的当前文件的差异 │
│ │ │(leader)gdc │对比ab寄存器中的两个对象(左a右b) │
│ │ │(leader)gdb │以当前为基对比a寄存器(左a右基) │
│ │ │(leader)gdd │以当前为基对比a寄存器单文件(左a右基)│
│ │ │(leader)gdv │执行Quickfix中的一个文件的对比 │
│ │ │(leader)gdn │执行Quickfix中的下一个文件的对比 │
│ │ │(leader)ec │Flog截取起始commit(后面对比左旧右新)│
│ ├──┼──────────────┼────────────────────────────────────┤
│ │分│(leader)gbl │查看所有的本地分支 │
│ │支│(leader)gbc │切换到某个分支(光标放到分支名上) │
│ │管│ [nV]│ │
│ │理│(leader)gbxl │删除一个本地分支(光标放到分支名上) │
│ │ │ [nV]│ │
│ │ │(leader)gbxfl │强制删除一个本地分支(光标放到分支名 │
│ │ │ [nV]│上) │
│ │ │(leader)gbxr │删除一个远程分支 │
│ │ │ [nV]│ │
│ │ │(leader)gbr │查看所有的远程分支 │
│ │ │(leader)gbfr │检出一个远程分支(origin)到本地 │
│ │ │ [nV]│ │
│ │ │(leader)gbur │检出一个远程分支(upstream)到本地 │
│ │ │ [nV]│ │
│ │ │(leader)gps │推送当前分支的变更到远端 │
│ │ │(leader)gpfs │强制推送当前分支的变更到远端 │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │ │ │ │
│ │拉│(leader)gpl │拉取最新的变更 │
│ │取│ │ │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │历│(leader)gog │查看当前文件的所有提交历史 │
│ │史│ │ │
│ │管│ │ │
│ │理│ │ │
│ ├──┼──────────────┼────────────────────────────────────┤
│ │标│(leader)gta │基于a寄存器中的提交创建一个标签 │
│ │签│(leader)gtsl │显示x寄存器中的某个标签明细 │
│ │管│(leader)gtl │列出所有的本地标签 │
│ │理│(leader)gtxl │删除一个本地标签 │
│ │ │ [nV]│ │
│ │ │(leader)gtp │推送x寄存器中的标签到远程服务器 │
│ │ │ [nV]│(需要先选中) │
│ │ │(leader)gtr │列出所有的远程标签 │
│ │ │(leader)gtxr │删除某个远程标签(放到那一行上即可) │
│ │ │(leader)gtc │检出某个远程标签到本地 │
│ │ │ │(放到那一行上即可) │
├──┼──┴──────────────┼────────────────────────────────────┤
│项│(leader)foo │把当前的工作目录切换到项目的根目录 │
│目│gd │跳转到定义 │
│管│gt │跳转到类型定义 │
│理│gi │跳转到实现 │
│( │gr │跳转到引用 │
│L │gk │文本浮窗 │
│S │gnr │重命名 │
│P │gnf │格式化 │
│) │ga │代码智能建议 │
│ │(space)o │显示当前文件的符号列表(找函数、 │
│ │ │找 Table 定义极快) │
│ │(space)sf │全局符号搜索 │
│ │(space)ax │全局诊断列表 │
│ │(space)aX │全局诊断列表(窗口不关闭) │
│ │]g │快速跳到下一个诊断 │
│ │[g │快速跳到前一个诊断 │
├──┼─────────────────┼────────────────────────────────────┤
│代│(leader)jj │跳到对应的代码 │
│码│(leader)jl │记录路径和行号到系统剪切板 │
│导│(leader)jr │记录锚点到系统剪切板 │
│航│(leader)jh │跳转到锚点 │
│记│(leader)jn │生成锚点 │
│录│(leader)jc │插入代码行号路径 │
│ │(leader)jk │插入代码锚点路径 │
├──┼─────────────────┼────────────────────────────────────┤
│工│s, │切换工具栏按钮 │
│具│ │ │
│栏│ │ │
├──┼─────────────────┼────────────────────────────────────┤
│A │(leader)ae [V] │ai 编辑选定文本 │
│I │(leader)ac [Vn] │ai 发送聊天信息 │
├──┼─────────────────┴────────────────────────────────────┤
│V │https://www.qindapao.com/blog/3-vimio/ │
│I │ │
│M │ │
│I │ │
│O │ [qindapao.com] │
└──┴──────────────────────────────────────────────────────┘
✍️ 本文作者:秦大炮 (Qindapao)
欢迎技术交流与转载。转载请注明出处,并保留以下硬核联系方式。
- 🔗 独立博客: qindapao.com
- 💻 GitHub: github.com/qindapao
- 📧 Email: nothisland2017@gmail.com
最后更新于