vim中的JavaScript语法突出显示
有没有人发现VIM语法突出显示的JavaScript是次优的? 我发现,有时我需要滚动以获得调整的语法突出显示,有时它神秘地丢弃所有突出显示。
有没有什么解决办法或方法来解决这个问题? 我正在使用vim 7.1。
您可能想尝试一下改进的Javascript语法突出显示器,而不是使用VIMRUNTIME附带的那个。
那么,我修改了Yi Zhao的Javascript语法 ,并添加了Ajax关键字支持,还突出显示了DOM Methods等。
在这里,它还远远不够完美,因为我还是Vim的新手,但到目前为止,它已经为我工作了。 我的Javascript语法 。 如果你可以修复,添加function,请做。
更新: 我忘记了这些语法高亮只显示,如果你把它们包括在你自己的色彩scheme,就像我在我的 Nazca
colorscheme。我将testing是否可以将这些行添加到修改过的语法文件中。
遵循github中的JavaScript语法文件的新版本,因为它不再需要修改您当前的colorscheme。
语法着色同步可能需要调整。 我发现在某些情况下,我需要改变它。
语法同步(“:help syn-sync”)控制vim如何跟踪并刷新其对着色代码的parsing,以便它可以在文件中的任何位置开始绘制。
默认不总是为我工作,所以有时我发现自己发行
:syn sync fromstart
我build议阅读下面的文档
:help syn-sync
或者只是检查
:help syntax
并find关于同步的部分。
在四个可用的基本选项中做出明智的决定。 我保持对function键的映射,以在“从开始”和“完成”模式之间切换,并且仅仅清除同步设置。
对于一个快速和脏的修复,有时我只是上下滚动和突出重新调整。 屏幕重画的Ctrl + L也可以修复它。
这是一个非常旧的post,但是我遇到了同样的情况:有时语法突出显示只会在.html
文件中查看JavaScript部分时停止工作。 正如OP所提到的,一个快速的解决方法是向上滚动,然后神奇的事情将开始再次突出显示。
今天我发现了一个很好的解决scheme。 在Vim中,语法高亮使用上下文来导出正确的高亮,上下文由前面的行定义。 可以通过发出来指定当前行使用多less行:syntax sync minlines=200
。 在这种情况下,它将使用多达200个之前的行作为上下文。 通过运行:syntax sync fromstart
,可以使用整个文件(对于长文件可能会很慢)。
一旦我find了,我把这行添加到我的.vimrc
:
autocmd BufEnter *.html :syntax sync fromstart
通过这样做, .html
文件将使用整个文件作为上下文。 因此,无论JS部分多长时间,javascript部分总是会被正确突出显示。 希望这可以帮助别人!