更改基于目录的expandtab设置?

时间:2018-06-28 13:09:06

标签: vim

我通常使用4个空格进行缩进。但是,我偶尔会向OSS项目提交补丁,其中一些使用选项卡。当我这样做时,通常将只编辑我的~/.vimrc并将set expandtab更改为set noexpandtab。当然,那我会忘记取消设置,这只是很小的麻烦。

如果我打开一个外壳程序来处理该项目,我最近也一直在设置VIMINIT变量。如果关闭该外壳,则只需重新设置它即可。不是世界上最糟糕的事情,而是...

我想知道是否有一种方法可以根据我是否在某个目录树下来告诉vim使用某些设置,例如noexpandtab。这样,我只需在配置文件中设置一次即可,而不必在此工作站上再次考虑它。

1 个答案:

答案 0 :(得分:4)

使用:autocmd实现这一点非常简单。例如,此行将为noexpandtab目录下的所有内容设置/projects

autocmd BufRead /projects/* setlocal noexpandtab

只需在您的 .vimrc 中添加适当的调整即可。要了解更多信息,请查看:autocmdautocmd-patterns上的帮助页面。