我正在使用的类需要使用两个空格而不是制表符提交代码。我在.vimrc
中有一个autocmd,只能在用于该类中的分配的目录内使用两个空格长标签。覆盖Makefiles的vim autocmd
autocmd BufNewFile,BufRead ~/path/to/dir/* set tabstop=2 shiftwidth=2 expandtab
不过,我不希望在该目录的Makefile,因为化妆需要制表符使用expandtab
选项。
要做到这一点,我在.vimrc
创造了另一个自动命令:
autocmd FileType make setlocal noexpandtab
然而,当第一自动命令的伟大工程,第二个不会覆盖第一和expandtab
将继续设置,即使在Makefile文件或文件类型的make。无论配置中的顺序如何,这都会发生。
一个有点本事-Y的解决方案,我发现工作是使用
autocmd FileType make autocmd!
它禁止其他所有自动命令对文件。但是,这将会禁用Makefiles的所有其他autocmd,这是不可取的。
有没有其他方法可以给第二个命令优先于第一个,或者以某种方式禁用Makefiles上的expandtab
选项?