繁体   English   中英

如何通过模式行打开 vim 语法高亮?

[英]How do I turn on vim syntax highlighting via modeline?

在 my.vimrc 文件中,我有

syntax off

假设我想通过 vim 的模式行逐个打开语法高亮? 我尝试了很多组合,例如:

# vim: syntax on:

但我仍然无法让它工作。 我需要在模型行中做什么?

根据:help syntax ,使用syntax enablesyntax 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM