[英]How do I turn on vim syntax highlighting via modeline?
在 my.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 是一个多缓冲区/窗口/选项卡编辑器。 每个当前文件更改全局 state(语法、颜色方案、加载插件等)是一个错误的习惯。 幸运的是,modeline 不允许这样做。
您可以在模式行中设置:h local-options
。 意外的是,还有一个选项也名为:h 'syntax'
。 它具有与任何其他选项相同的语法。
# vim: syntax=OFF
您无需设置:syntax manual
即可使用,因为模式行优先于文件类型检测。 但是,如果手动触发 FileType 事件(例如:setf xyz
)而:syntax on
那么缓冲区的语法可以重新定义以匹配新的文件类型。 不过不是问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.