【发布时间】:2018-10-19 01:31:03
【问题描述】:
我希望能够为特定项目创建 vim 语法文件,以突出显示该项目独有的标识符。当然,我可以在$HOME/.vim/after/syntax/*.vim 中安装一个语法文件,但我想将其设置为每个文件夹的配置。项目语法文件应该添加到现有的语法文件,而不是替换它。我还想要一个通用的解决方案,它可以自动加载本地文件(如果存在),并且不需要为 .vimrc 或插件中的特定目录进行配置。
编辑:这与问题Vim: apply settings on files in directory 类似,但它处理 .vimrc 中的设置,该设置在语法文件之前加载。语法文件通常会清除预定义的语法信息,因此在 .vimrc 中设置此信息没有用,因此加载备用 .vimrc 文件的技术也无用。我不知道如何触发要加载的其他“之后”文件。我之前看到过这个问题,但除了与 .vimrc 相关的问题外没有其他答案。
我已经使用:set exrc 配置了本地 .vimrc 文件,并验证了这些文件是否已加载,但 .vimrc 中的语法定义会被稍后加载的语法文件覆盖。 (而且我希望项目语法添加到标准语法中,而不是替换它。)
是否有类似的功能,无论是 vim 功能还是插件,都可以用于本地“后”语法文件?
【问题讨论】:
-
您可以定义一个自动命令以仅在编辑指定目录中的文件时加载您的语法文件。请参阅:superuser.com/questions/598947/…。所以你可以这样做:
autocmd BufRead,BufNewFile /path/to/dir/* source $HOME/.vim/syntax/somesyntax.vim
标签: vim vim-syntax-highlighting