Vim中的Javascript语法高亮

Vim中的Javascript语法高亮

Javascript syntax highlighting in vim

还有其他人发现VIM的Java语法突出显示次优吗? 我发现有时需要滚动浏览以调整语法突出显示,因为有时它会神秘地删除所有突出显示。

是否有任何解决方法或解决此问题的方法? 我正在使用vim 7.1。


您可能想尝试使用这种改进的Javascript语法突出显示器,而不是VIMRUNTIME附带的工具。


好吧,我修改了Yi Zhao的Javascript语法,并添加了对Ajax关键字的支持,还突出了DOM方法和其他方法。

在这里,它远非完美,因为我还是Vim的新手,但到目前为止它对我来说还是有用的。我的Javascript语法。如果可以解决,请添加功能。

更新:我忘记了这些语法高亮,仅当您将它们包含在自己的colorcheme中时才显示,就像我在Nazca colorscheme中所做的那样。我将测试是否可以将这些行添加到修改后的语法文件中。

请遵循github中javascript语法文件的新版本,因为不再需要修改您当前的colorcheme。


语法着色同步可能需要调整。我发现在某些情况下需要更改它。

语法同步(":help syn-sync")控制vim如何跟踪和刷新其对着色的代码的解析,以便vim可以开始在文件中的任何位置进行绘制。

默认值并不总是对我有用,因此有时我发现自己正在发出

1
:syn sync fromstart

我建议通读下面的文档

1
:help syn-sync

或只是检查

1
:help syntax

并找到有关同步的部分。

在四个可用的基本选项中做出明智的决定。
我维护到功能键的映射,以在" fromstart"和" ccomment"模式之间切换,并仅清除同步设置。


这是一篇非常古老的文章,但是我遇到了同样的事情:有时,当查看.html文件中的javascript部分时,语法高亮显示只会停止工作。正如OP所提到的,一种快速的解决方法是向上滚动,然后神奇地事情将再次开始突出显示。

今天,我发现了潜在的问题和好的解决方案。在Vim中,语法突出显示使用上下文来导出正确的突出显示,其中上下文由前几行定义。通过发出:syntax sync minlines=200,可以指定使用当前行之前的行数。在这种情况下,它将使用多达200条以前的行作为上下文。通过运行:syntax sync fromstart,可以使用整个文件(对于长文件来说可能很慢)。

找到该行后,便将此行添加到我的.vimrc中:

1
autocmd BufEnter *.html :syntax sync fromstart

这样,.html文件将使用整个文件作为上下文。因此,无论JS部分有多长时间,javascript部分都将始终正确地突出显示。希望这可以帮助其他人!


为了快速而又肮脏的修复,有时我只是上下滚动,然后高亮显示重新调整。屏幕重绘的Ctrl + L也可以修复它。


推荐阅读

    linux删除第一行命令?

    linux删除第一行命令?,单位,系统,命令,标的,不了,数字,连续,名称,档案,文件,m

    linux删除本行命令?

    linux删除本行命令?,系统,本行,档案,命令,资料,商业,文件,终端,目录,文件名,L

    linux删除命令文件夹?

    linux删除命令文件夹?,系统,数据,通用,文件夹,命令,文件,环境,百度,不了,名

    linux启动显示命令行?

    linux启动显示命令行?,系统,密码,终端,状态,首页,情况,基础,电脑,信息,工具,l

    linux显示之前的命令?

    linux显示之前的命令?,系统,信息,命令,地址,服务,环境,数据,标准,数字,不了,l

    linux里删除区间命令?

    linux里删除区间命令?,系统,命令,情况,档案,不了,名称,目录,文件,文件夹,分

    linux命令安条件删除?

    linux命令安条件删除?,系统,命令,不了,通用,名称,文件夹,文件,目录,软件,子

    linux命令实时显示?

    linux命令实时显示?,系统,实时,时间,信息,情况,命令,对比,电脑,名称,一致,lin

    linux命令显示ip?

    linux命令显示ip?,地址,系统,网络,信息,技术,电脑,手机,设备,服务,管理,配置L

    linux文件夹删除命令?

    linux文件夹删除命令?,系统,命令,不了,档案,名称,通用,文件夹,文件,目录,指

    linux删除最近命令?

    linux删除最近命令?,档案,名称,不了,命令,文件,系统,目录,文件夹,指令,参数,l

    linux编译时显示命令?

    linux编译时显示命令?,系统,基础,工具,代码,百度,下来,网上,命令,内核,文件,L

    linux快速删除命令行?

    linux快速删除命令行?,系统,软件,名称,数据,命令,文件,档案,不了,电脑,通用,l

    删除linux文件命令?

    删除linux文件命令?,名称,不了,文件夹,命令,文件,目录,方法,指令,子目录,选

    linux显示运行命令?

    linux显示运行命令?,系统,服务,状态,信息,工具,数据,电脑,标准,管理,时间,如

    linux下删除用户命令?

    linux下删除用户命令?,系统,代码,邮箱,用户组,命令,用户,名称,管理,电脑,账

    linux的删除所有命令?

    linux的删除所有命令?,不了,系统,名称,命令,文件夹,文件,目录,档案,数据,环

    linux删除类型命令?

    linux删除类型命令?,系统,档案,命令,文件,名称,环境,数据,不了,目录,文件夹,

    linux命令删除文件夹?

    linux命令删除文件夹?,系统,名称,环境,文件夹,不了,命令,文件,数据,档案,目

    显示linux网卡命令行?

    显示linux网卡命令行?,系统,信息,工具,网络,服务,电脑,网卡,技术指标,地址,