我通常使用4个空格进行缩进。但是,我偶尔会向OSS项目提交补丁,其中一些使用选项卡。当我这样做时,通常将只编辑我的~/.vimrc
并将set expandtab
更改为set noexpandtab
。当然,那我会忘记取消设置,这只是很小的麻烦。
如果我打开一个外壳程序来处理该项目,我最近也一直在设置VIMINIT
变量。如果关闭该外壳,则只需重新设置它即可。不是世界上最糟糕的事情,而是...
我想知道是否有一种方法可以根据我是否在某个目录树下来告诉vim使用某些设置,例如noexpandtab
。这样,我只需在配置文件中设置一次即可,而不必在此工作站上再次考虑它。
答案 0 :(得分:4)
使用:autocmd
实现这一点非常简单。例如,此行将为noexpandtab
目录下的所有内容设置/projects
:
autocmd BufRead /projects/* setlocal noexpandtab
只需在您的 .vimrc 中添加适当的调整即可。要了解更多信息,请查看:autocmd
和autocmd-patterns
上的帮助页面。