当我在 vim 中启用语法高亮功能编辑 shell 脚本时,当我输入开头的 " 或 ${ 时,编辑器会立即重新高亮文件的其余部分,就好像它是字符串或变量名的一部分一样。然后,当我输入结尾的 " 或 } 时,它会再次重新高亮。这会导致大量闪烁。
是否可以禁用此全局实时重新突出显示?例如,是否有一个选项,在我离开插入模式之前不更改任何突出显示?或者也许只更改受新插入影响的行的突出显示,并保持其余行的突出显示,直到我结束编辑?
答案1
不幸的是这是不可能的。理论上,语法高亮可以向定义添加断言,说明“仅当光标不在里面时才匹配”,但由于这会使正则表达式更麻烦(并且可能也更慢),所以没有这样做。
您只能在进入/离开插入模式时完全禁用/启用语法高亮,但这会产生更多的闪烁(并且可能会导致速度变慢,因为整个缓冲区需要重新解析)。
我能提供的唯一实用建议是使用自动关闭插件(这自动附加结束字符Wiki 页面描述了一些简单的设置和插件列表,可以自动关闭任何打开的括号,从而基本上避免了这个问题。