15

在我看来,Vim 对 Haskell 的语法高亮显示被破坏了,或者非常有问题。Haskell 中的多行注释(以 {- 开头,以 -} 结尾)是任意绿化和非绿化的。有时将鼠标拖到注释代码上会导致它反转颜色。

有没有其他人遇到过这个问题?

4

2 回答 2

16

默认情况下,Vim 的语法高亮会牺牲准确性来换取性能。为此,它只检查当前位置之前的一定数量的行以确定应该如何突出显示内容。这意味着它有时会不同步。

它用于确定要检查多少文本的不同方法可以在:help :syn-sync中看到。如果你想让它正常工作,使用:syn sync fromstart让 Vim 考虑到光标之前的整个缓冲区来确定突出显示。

于 2010-02-06T02:04:51.703 回答
2

这也发生在其他语言上,这就是 vim 的工作方式。它实际上并不使用解析器,因为它需要始终完全准确。实际上,有时您可能需要的不仅仅是语法解析器。

http://vimdoc.sourceforge.net/htmldoc/syntax.html

于 2010-02-06T01:18:04.763 回答