我在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