【发布时间】:2010-09-08 16:46:55
【问题描述】:
有没有其他人发现 VIM 的 Javascript 语法高亮不是最佳的?我发现有时我需要滚动来调整语法突出显示,因为有时它会神秘地放弃所有突出显示。
是否有任何解决方法或方法来解决此问题?我正在使用 vim 7.1。
【问题讨论】:
标签: javascript vim editing vim-syntax-highlighting
有没有其他人发现 VIM 的 Javascript 语法高亮不是最佳的?我发现有时我需要滚动来调整语法突出显示,因为有时它会神秘地放弃所有突出显示。
是否有任何解决方法或方法来解决此问题?我正在使用 vim 7.1。
【问题讨论】:
标签: javascript vim editing vim-syntax-highlighting
您可能想试试这个improved Javascript syntax highlighter,而不是 VIMRUNTIME 附带的那个。
【讨论】:
.../2*x+4... 与 ".../2*x+4..." 的颜色相同
语法着色同步可能需要调整。我发现在某些情况下我需要更改它。
语法同步 (":help syn-sync") 控制 vim 如何跟踪并刷新其对着色代码的解析,以便它可以开始在文件中的任何位置绘图。
默认设置并不总是适合我,所以有时我发现自己在发布
:syn sync fromstart
我建议阅读下的文档
:help syn-sync
或者只是检查
:help syntax
并找到关于同步的部分。
在四个可用的基本选项中做出明智的决定。 我维护到功能键的映射,以在“fromstart”和“ccomment”模式之间切换,并仅用于清除同步设置。
【讨论】:
为了快速而肮脏的修复,有时我只是上下滚动并重新调整突出显示。 Ctrl+L 重绘屏幕也可以修复。
【讨论】:
好吧,我已经修改了Yi Zhao's Javascript Syntax,并添加了 Ajax 关键字支持,还突出显示了 DOM 方法和其他方法。
在这里,它远非完美,因为我还是 Vim 的新手,但到目前为止它对我有用。 My Javascript Syntax。如果你能修复,添加功能,请做。
更新:我忘记了这些语法高亮只有在您将它们包含在自己的颜色方案中时才会显示,就像我在 Nazca 颜色方案中所做的那样。我将测试是否可以将这些行添加到我修改后的语法文件中。
按照github中的新版javascript语法文件,不再需要修改您当前的颜色方案。
【讨论】:
Nazca 颜色方案添加了额外的行。我没有尝试将这些行直接添加到修改后的语法文件中。实际上,将这些线条添加到您自己的配色方案中非常容易和简单。
这是一篇非常老的帖子,但我遇到了同样的事情:有时在查看 .html 文件中的 javascript 部分时,语法高亮会停止工作。正如 OP 所提到的,一个快速的解决方法是向上滚动,然后神奇地再次开始突出显示。
今天我发现了根本问题和一个好的解决方案。在 Vim 中,语法高亮使用上下文来导出正确的高亮,其中上下文由前几行定义。可以通过发出:syntax sync minlines=200 来指定当前行之前的行数。在这种情况下,它将使用多达 200 行作为上下文。通过运行:syntax sync fromstart,可以使用整个文件(对于长文件可能会很慢)。
一旦发现,我就将这一行添加到我的.vimrc:
autocmd BufEnter *.html :syntax sync fromstart
通过这样做,.html 文件将使用整个文件作为上下文。因此,无论 JS 部分有多长,javascript 部分都将始终正确突出显示。希望这对其他人有帮助!
【讨论】:
_vimrc 文件,其中包含来自此答案的行时,突出显示完全停止工作,因为没有使用默认的 VIM 配置文件。结果,我在_vimrc 文件source $VIM/_vimrc 中创建了第一行,一切都按预期工作。