我正在使用的類需要使用兩個空格而不是製表符提交代碼。我在.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
選項?