为什么在Vim中只应用了一些模式行设置?

Wil*_*ill 4 vim configuration

我正在编辑python文件,我在其中一个中有一个模式行,如下所示:

# vim: set foldmarker={{{,}}} foldlevel=0  foldmethod=marker
Run Code Online (Sandbox Code Playgroud)

当我打开文件时,foldmethod仍然设置为expr,但模式行中的其他两个设置已成功应用,并set modeline?显示modeline确实已设置.

我怀疑这种情况正在发生,因为插件在应用了模式后会覆盖设置,但我该如何检查是否是这种情况?

Geo*_*edy 6

实际上,您的模式行语法不正确.要设置foldmarkerfoldlevel为默认值,所以这可能是为什么它看起来像正在应用这些设置.你的模式应该是

# vim: set foldmarker={{{,}}} foldlevel=0 foldmethod=marker :
Run Code Online (Sandbox Code Playgroud)

注意:在行的末尾,它是必需的.

对于不需要结束冒号但是它也不能具有前导集的模型的另一种语法:

# vim: foldmarker={{{,}}} foldlevel=0 foldmethod=marker
Run Code Online (Sandbox Code Playgroud)

任何一个都适合你.我倾向于使用第一种语法,因为第二种语法不能用于需要在行尾添加一些文本来关闭注释的语言中.