如果我在 vim 中打开一个大文件(使用这个术语很宽泛,比如 ~1000 行就足够了),然后跳转到某个位置,有时我会得到忽略屏幕外文本的突出显示。例如,如果我跳转到一个大型 while 循环的末尾(在 sh 突出显示中,但我在 C 突出显示中遇到了同样的问题),“完成”将被标记为红色,好像它实际上并没有终止循环。这就像程序没有回溯足够远以正确地将我当前正在查看的内容上下文化。另一方面,如果我转到循环的开头并按“j”向下移动,它将正确突出显示。有什么方法可以解决这个问题吗?
如果我在 vim 中打开一个大文件(使用这个术语很宽泛,比如 ~1000 行就足够了),然后跳转到某个位置,有时我会得到忽略屏幕外文本的突出显示。例如,如果我跳转到一个大型 while 循环的末尾(在 sh 突出显示中,但我在 C 突出显示中遇到了同样的问题),“完成”将被标记为红色,好像它实际上并没有终止循环。这就像程序没有回溯足够远以正确地将我当前正在查看的内容上下文化。另一方面,如果我转到循环的开头并按“j”向下移动,它将正确突出显示。有什么方法可以解决这个问题吗?
使用此命令进行临时修复:
:syntax sync minlines=500
要获得更持久的解决方案,请将以下行添加到您的
.vimrc
文件中:如果速度变慢的话也请检查这个帖子。
vim