You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何修改Windows系统下GVIM中的默认编译器列表?

当然可以修改这个列表!GVim的「Set Compiler」菜单完全是可自定义的,咱们一步步来调整到符合你的需求:

自定义GVim编译器菜单的详细步骤

1. 先搞懂编译器脚本的原理

GVim的每个编译器选项对应一个.vim脚本,默认存放在$VIMRUNTIME/compiler/目录下(Windows用户一般在C:\Program Files\Vim\vimXX\compiler,XX是你的Vim版本号)。这些脚本定义了对应语言的编译命令、错误格式等规则。

2. 添加你需要的语言支持

如果菜单里缺HTML、CSS、JS或VB,你有两种方式搞定:

  • 方式一:自己写简单的编译器脚本
    比如给JavaScript创建javascript.vim,放到~/.vim/compiler/(Linux/macOS)或%USERPROFILE%\vimfiles\compiler\(Windows)目录下,内容可以参考这个(用ESLint做语法检查和修复):

    if exists("current_compiler")
      finish
    endif
    let current_compiler = "javascript"
    
    " 定义编译/检查命令
    CompilerSet makeprg=npx\ eslint\ --fix\ %
    " 定义错误输出格式,方便Vim跳转
    CompilerSet errorformat=%f:%l:%c:\ %m
    

    HTML和CSS可以类似处理,比如用HTMLHint、Stylelint等工具,对应修改makeprgerrorformat即可。

  • 方式二:复用已有脚本
    先检查默认的compiler目录里有没有你需要的脚本(比如可能已经有html.vim但没显示在菜单),如果有,直接跳到下一步添加菜单条目就行。

3. 把新编译器加到菜单里

打开你的vimrc(Windows是_vimrc),添加菜单定义命令,比如:

" 给Tools菜单添加自定义编译器选项
amenu Tools.Set\ Compiler.JavaScript compiler javascript
amenu Tools.Set\ Compiler.HTML compiler html
amenu Tools.Set\ Compiler.CSS compiler css
amenu Tools.Set\ Compiler.Visual\ Basic compiler vb

重启GVim后,你就能在「Set Compiler」里看到这些新选项了!

4. 移除没用的默认选项

如果想删掉那些你永远用不到的语言选项,在vimrc里用:aunmenu命令移除即可:

" 移除不需要的默认编译器菜单
aunmenu Tools.Set\ Compiler.Fortran
aunmenu Tools.Set\ Compiler.Pascal
aunmenu Tools.Set\ Compiler.Lisp
" 把你不想看到的选项都列在这里

小技巧

  • 参考默认编译器脚本的写法,比如打开$VIMRUNTIME/compiler/python.vim,看看它的结构,就能快速上手写自己的脚本。
  • 如果只是想临时切换编译器,不用改菜单,直接在命令行输入:compiler javascript就能生效。

内容的提问来源于stack exchange,提问作者Gershon

火山引擎 最新活动