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

时间:2010-11-08 00:39:43

标签: vim

我在Vim中有两个垂直分割缓冲区,显示两个单独的文件,我希望它们同时显示和滚动。如果:set scrollbind位于两个缓冲区的顶部,我可以将滚动部分缩小(所以当我在一个缓冲区中点击zt时,当前行在两个缓冲区中跳转到顶部),但不幸的是,显示不同步。

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

谢谢!

3 个答案:

答案 0 :(得分:13)

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

答案 1 :(得分:2)

您可以使用

:set nowrap

阻止长行被包装,以便缓冲您的缓冲区。不完全是你问的,但是很接近。

答案 2 :(得分:0)

我怀疑如果你需要包装它们,Vim非常适合垂直扩展具有很长文本行的缓冲区,但是,我是一个真正的Vim爱好者。

我建议你:

  • 使用vim,在每行前面插入行号,并对文件进行双倍空格(:g/^/put _)。如果您要进行翻译,行号不应该真正受到变化吗?
  • 使用具有图形技巧的Kompare或Meld打开这两个文件,以平滑地绑定不等长度的行。然后调整颜色方案,就好像它不是一个变形工具。
相关问题