2014-03-26 39 views
4

我編輯的Python文件,我在他們的一個模式行如下:爲什麼只有一些模式設置在Vim中被應用?

# vim: set foldmarker={{{,}}} foldlevel=0 foldmethod=marker 

當我打開該文件,foldmethod仍設置爲expr,但在模式行的另外兩個設置已經成功應用,並且set modeline?顯示modeline確實設置。

我懷疑這是因爲一個插件在應用模式行後覆蓋了設置,但我怎麼檢查是否是這種情況?

回答

6

其實,你的模式語法不正確。您正在將foldmarkerfoldlevel設置爲默認值,這可能是爲什麼它看起來像正在應用這些設置。你的模式行應該是

# vim: set foldmarker={{{,}}} foldlevel=0 foldmethod=marker : 

注意:在該行的末尾,這是必需的。

還有一種語法,不需要收盤結腸模式行,但它也不能有領先的集:

# vim: foldmarker={{{,}}} foldlevel=0 foldmethod=marker 

無論是一個會爲你工作。我傾向於使用第一種語法,因爲第二種語法不能用於需要在行尾關閉註釋的文本的語言。

+0

啊,完美。謝謝! – Will

+1

你可以使用':verbose set foldmarker?摺疊級別?使用foldmethod?'來查看哪些選項是從modeline設置的。 – benjifisher

+0

@benjifisher,這真的很有用,謝謝。我總是忘記'詳細'... – Will

相關問題