2013-04-03 32 views

回答

6

一種方法是使用合適的正則表達式,但如果你的文件名有/這列可能會失敗,但你可以改善它:

au BufRead * if expand('<amatch>') =~ "/Desktop/[^/]*$" | set tw=90 | endif 

另一種方法是使用兩個命令,一個需要恢復的其他:

au BufRead */Desktop/* set tw=90 
    au BufRead */Desktop/*/* set tw=31 
+1

在第一種情況下,您應該使用'expand('')'代替expand('%')'。否則,不能保證至少有一個斜槓('''/'總是用作路徑分隔符,'%'它使用系統路徑分隔符,可能是''''或':')。複製模式(與':au'參數中的'*/Desktop/*'匹配比執行':au'代碼要快得多,儘管幾乎總是不會注意到其中的差異)。 – ZyX

+0

不錯,它的作品。我很驚訝沒有一個簡單的方法來使用autocmd模式做到這一點。看起來像一個相當常見的用例。 –

相關問題