有没有一种简单/可靠的方法让 VIM在项目/目录特定的基础上检测特殊文件(即:.vimrc
具有几个设置的自定义),或者根据特殊标签/的存在来更改运行时设置c源文件 ( .c
) 或头文件 ( )开头的注释中的字符串/哈希值.h
?字符串/哈希必须映射到文件中的函数/设置.vimrc
,并且不得包含实际设置本身。
我有一个多开发人员项目,其中我们都有一组针对各种编辑器(主要是emacs和vim)的通用代码样式设置,并且我们都严格遵守这些设置,例如换行符样式(CR与CR+
LF)、缩进(长度、硬制表符与扩展为空格),等等。
我正在创建一些新项目,由于我们无法控制的原因(即:我们必须使用静态代码分析工具),这些项目将需要与我们不同的样式设置。在静态代码分析工具中,有一些方法可以绕过这个问题,但是有一个非技术/法律要求,即我们避免禁用该工具的“功能”。
对于每个新项目,我想以某种方式让vi / vim知道一些特殊标志,要么通过项目目录结构根目录中存在特殊文件,要么通过特殊关键字/标签/哈希/等我可以放入一个/* C-style block comment */
. 当vi / vim知道这个“触发器”的存在时,我希望它调用一个函数来覆盖换行符、缩进等的样式设置。如果这是可能的,是否也可以有多个互斥的这样的“触发器”让每个人都有一个共同点.vimrc
,项目决定使用哪种风格?
有没有一种简单的方法可以实现这一点?
一种解决方案::help modeline
Vim 的模型行 ( ) 和Emacs 的文件变量。
这些是您放入文件中并由编辑器解释的特殊注释。您可以使用它们来设置缩进样式、文件编码等。
\n\n在我看来,模型行是丑陋的噪音。
\n\nVim 的一种解决方案:( .exrc
) :help \'exrc\'
。
您可以将项目特定的设置放在.exrc
项目根目录下的文件中。该手册声称该解决方案不安全,但我不明白正常功能的成年人如何会被它击败。YMMV。
Vim 的一种解决方案:特定于目录的自动命令。
\n\n这是最后提到的更安全的替代方案,:help \'exrc\'
但它要求每个贡献者向自己的贡献者添加内容vimrc
,所以我认为\xe2\x80\xa6 没有那么有用。
最终的解决方案: editorconfig。
\n\n您将设置放在.editorconfig
项目根目录下的 a 中,并让每个贡献者的 IDE/编辑器处理它。
归档时间: |
|
查看次数: |
555 次 |
最近记录: |