在我的 .vimrc 文件中,我有
syntax off
假设我想通过 vim 的模式行逐个打开语法高亮?我尝试了很多组合,例如:
# vim: syntax on:
但我仍然无法让它工作。我需要在模型行中做什么?
根据:help syntax
,在运行时使用syntax enable
或syntax on
加载语法文件。但显然syntax manual
也有根据您指定的语法类型打开它。查看源 vimscript,它说:
它安装语法自动命令,但不安装文件类型自动命令。
因此,您可以使用syntax=
来设置类型,并且可以在模式行中设置特定类型或设置none
有效地关闭它。
# vimrc
syntax manual
# In your files
# Turn it on for this yaml file
# vim: syntax=yaml:
# Or this PHP file
# vim: syntax=php:
如果您想明确在文件中禁用它:
# In your files
# No syntax highlighting for this file (default if omitted)
# vim: syntax=none:
Vim 是一个多缓冲区/窗口/选项卡编辑器。更改每个当前文件的全局状态(语法、颜色方案、加载插件等)是一个错误的习惯。幸运的是,modeline 不允许这样做。
您可以在模式行中做的是设置:h local-options
. 意外地,还有一个选项也名为:h 'syntax'
. 它具有与任何其他选项相同的语法。
# vim: syntax=OFF
您无需为此进行设置:syntax manual
,因为模式行优先于文件类型检测。但是,如果手动触发 FileType 事件(例如:setf xyz
),:syntax on
则可以重新定义缓冲区的语法以匹配新的文件类型。不过不是问题。