gpt4 book ai didi

vim - 定义一个vim语法文件,选择性地应用不同区域的其他语法文件

转载 作者:行者123 更新时间:2023-12-04 19:09:09 25 4
gpt4 key购买 nike

有没有一种方法可以在 Vim 中定义一个本质上是其他语法文件之上的“元”层的语法文件?我的意思是该文件定义了语法高亮区域,但它对每个区域所做的只是指定要应用于该区域的不同语法文件。这对于嵌入 HTML 或任何其他类型的文件混合语言的 PHP 很有用。我知道有些脚本可以同时处理 PHP 和 HTML,但我认为它们不会按照我描述的方式进行。我对这个问题的一般解决方案很感兴趣。

最佳答案

这就是:syntax include是为了。使用它,您可以标记缓冲区中的某些区域,并在其中应用从属语法。只要区域明确界定并且不混合,就可以很好地工作。例如,这用于在 HTML 语法中将 JavaScript 包含在 <script> 中。标签,Vimscript 将其用于 Perl、Python 和其他集成语言。您可以在 $VIMRUNTIME/syntax/ 找到这些脚本.

备选

我的 SyntaxRange plugin提供了一种不同的方法,您可以在其中使用另一种语法突出显示某些区域,而无需定义单独的新语法。这用于更多临时标记,例如突出显示 HTML 博客文章中的 Python 片段,或自动突出显示电子邮件正文中的内联补丁。

复合文件类型

最后,还有一些位于主要语法“之上”的附加语法。一个例子是 cpp.doxygen .但是,您不能使用任意语法来做到这一点;必须专门编写脚本来支持这一点。

关于vim - 定义一个vim语法文件,选择性地应用不同区域的其他语法文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23685731/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com