我在VIM中启用了语法高亮功能,它能够正确识别所有类型的文件,并使所有内容看起来都很美。在一个PHP文件中,我正在做一个preg_match()
,中间包含?>
的正则表达式字符串,而VIM认为这是我的文件的PHP代码部分的结尾,以及它在没有颜色的情况下变得非常粗糙的一切。VIM php语法错误
除了重写我的正则表达式不包含在一行中的这两个字符,有什么我可以做,使VIM意识到我在字符串中,而不是代码段?
我在VIM中启用了语法高亮功能,它能够正确识别所有类型的文件,并使所有内容看起来都很美。在一个PHP文件中,我正在做一个preg_match()
,中间包含?>
的正则表达式字符串,而VIM认为这是我的文件的PHP代码部分的结尾,以及它在没有颜色的情况下变得非常粗糙的一切。VIM php语法错误
除了重写我的正则表达式不包含在一行中的这两个字符,有什么我可以做,使VIM意识到我在字符串中,而不是代码段?
我会说不,除非你真的修改vim的src。在这样语法高亮显示有同样的问题:
<?php
some_code("that is highlighted correctly");
$mystring = "This code is highlighted OK, until I do ?>";
some_other("code that should be syntax highlighted but isn't");
?>
这是因为SO和vim使用正则表达式的高亮显示的代码,他们是不是很复杂,无法应付这个...
你可能会难逃>
:
?\>
,如果它是内容的一部分,不应打破正则表达式。
我能想到的唯一的另一种方式是使用ASP风格标签<%%>或<script language="php"></script>
,但我不确定vim是否支持这些标签,并且它会是杂色的。
感谢您的回复,我没有意识到也是这么做的。这一定是一个非常有前途的案例,没有人真正在意。 – bawkstoo