如何在Vim中同步查看和滚动垂直分割缓冲区?

Ahm*_*sih 32 vim

我在Vim中有两个垂直分割缓冲区,显示两个单独的文件,我希望它们同时显示和滚动.随着:set scrollbind在两个缓冲区的顶部,我可以得到滚动部分向下(所以当我打了zt一个缓冲,当前行跳转到顶部的两个缓冲器),但不幸的是,显示器不同步.

这意味着如果文件中的行具有不同的长度,则两个缓冲区将不会在视觉上对齐.我希望Vim显示额外的换行符,以确保长包裹线不会干扰两个缓冲区的垂直同步显示.

谢谢!

Her*_*itz 13

除了在两个缓冲区中设置scrollbind之外,还需要发出命令:syncbind.这应该同步滚动.我不知道如果你包裹线条并且这两个文件有不同长度的线条它是否会完美.但是如果你转过身去,我认为它应该保持相同的行数.

  • Syncbind不是scrollbind的替代品,当两个窗口都有scrollbind时,它会改变行为.例如,如果我有两个垂直窗口打开相同的文件,但有一个窗口缩小,所以线条换行,我可以通过发出syncbind(我认为)总是"排队"的唯一方法.线条当然仍然没有完美排列(除非在差异视图中添加空行,否则它们永远不会排队),但是当我向上或向下滚动一个窗口时,窗口顶部的两个_lines总是完美匹配.不知道这对你来说是否足够,但最顶层的线总是匹配. (4认同)

jan*_*anm 3

您可以使用

:set nowrap
Run Code Online (Sandbox Code Playgroud)

阻止长行被换行,以便您的缓冲区同步。不完全符合你的要求,但很接近。