![如何永久纠正“?>”后的语法高亮?](https://linux22.com/image/1437874/%E5%A6%82%E4%BD%95%E6%B0%B8%E4%B9%85%E7%BA%A0%E6%AD%A3%E2%80%9C%3F%3E%E2%80%9D%E5%90%8E%E7%9A%84%E8%AF%AD%E6%B3%95%E9%AB%98%E4%BA%AE%EF%BC%9F.png)
在 Vim 中,我有一个 PHP 脚本,其中包含类似以下内容的行:
$return = "<?xml attributes=\"values\" ?>";
通常情况下,?>
字符将关闭一个开始<?php
标记,但是,在这个脚本中,字符?>
在引号中,并且不会关闭开始<?php
标记;但是,在 之后,Vim 的语法高亮显示从 PHP 切换到 HTML ?>
。
有什么方法可以永久修复此行为?我知道在 Vim 中可以:syntax sync fromstart
修复此问题,但是当我关闭并重新打开文档时,语法突出显示又变得不正确。
答案1
我刚刚在 Vim 7.4 中测试了这一点,我没有看到您在 PHP 突出显示中看到的行为。
作为一种权宜之计,你可以通过改变 PHP 来“欺骗” Vim 的高亮规则:
$return = "<?xml attributes=\"values\" ?" . ">";
是的,它基本上是一个应急方案,但它确实有效。