【问题标题】:Combining multiple syntaxes in MacVim在 MacVim 中组合多种语法
【发布时间】:2015-03-20 23:29:00
【问题描述】:

我正在尝试为 MacVim 创建一个使用 CSS 和 PHP 组合的自定义语法荧光笔,其中 CSS 是静态选择器,有时会嵌入 PHP 代码(非常类似于 HTML+PHP)。

这是我的语法文件:

"Import CSS first
runtime! syntax/css.vim
unlet b:current_syntax

" Use PHP any time there is <? ?>
syn include @syntaxPHP syntax/php.vim
syn region regionPHP start="<?" end="?>" contains=@syntaxPHP

当我打开以下内容时:

.my-css {
    <?php echo 'my-php'; ?>
}

只有php部分有颜色,css没有。

【问题讨论】:

    标签: vim syntax-highlighting macvim vim-syntax-highlighting


    【解决方案1】:

    使用containedin=ALL:

    syn region regionPHP start="<?" end="?>" containedin=ALL contains=@syntaxPHP
    

    【讨论】:

    • 不幸的是,如果您添加第二个选择器,这将不起作用。例如,.my-css { &lt;?php echo 'my-php'; ?&gt; } .my-css2 { &lt;?php echo 'my-php2'; ?&gt; }
    • 很奇怪。您介意将您的 php 和 css vim 文件上传到某个地方供我使用吗?我想知道是不是其中一个问题导致了问题......
    • 没关系,看起来 css/php 语法文件是问题所在。一旦我更新了它们,它们就一切正常了:)
    猜你喜欢
    • 1970-01-01
    • 2014-12-15
    • 1970-01-01
    • 1970-01-01
    • 2017-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多