gvim长多行字符串突出显示

时间:2011-07-12 21:12:36

标签: vim syntax-highlighting

我在python源代码中广泛使用多行文档字符串来包含doctests。不幸的是,vim / gvim似乎很难用语法高亮显示,偶尔丢失它的位置并忘记它位于字符串文字的中间,并突出显示从字符串到源和源到字符串“翻转”。

我可以向上滚动到顶部并再次向下滚动,而vim 通常会修复问题,但有时需要几次尝试。

除了让我的文档更短,有没有办法帮助vim按顺序保持对这些长文字的突出显示?

2 个答案:

答案 0 :(得分:18)

:syntax syn控制Vim如何同步应该应用于文本中特定点的语法状态(:help syn-sync)。要获得最准确的同步(但这会降低vim的速度),请尝试:

autocmd BufEnter * :syntax sync fromstart

或者,如果您想在每次发现错误时手动同步,请尝试此命令(您可以将其映射到键盘快捷键):

:syntax sync fromstart

您可能还会发现minlines有用。来自:help syn-sync

  

如果给出“minlines = {N}”参数,则解析始终至少开始   很多线都倒退了。如果解析可能需要一些,则可以使用此方法   在它正确之前,或者当不可能使用同步时。

所以把它放在你的.vimrc中可能对你有所帮助:

syntax sync minlines=500

编辑:找到此页面,其中包含您需要的一切: http://vim.wikia.com/wiki/Fix_syntax_highlighting

答案 1 :(得分:2)

您可能不希望从正在编辑的所有类型的代码启动同步,只是html。如果是这种情况,请将其添加到您的vimrc:

autocmd FileType html autocmd BufEnter * :syntax sync fromstart