我想以水平分割方式(使用:sp)打开文档的两个不同部分,并将它们左右滚动。对于垂直滚动,可以使用scrollbind。但是,我不确定用于水平滚动的内容。

我知道该功能必须可用,因为当我使用vimdiff时,它同时在两个文档中水平滚动。

#1 楼

要在vim中一起滚动两个窗口,需要在每个窗口中运行:set scrollbind。如您所述,默认情况下,这仅绑定垂直滚动。在scrollbind的文档中,它提到:

The behavior of 'scrollbind' can be modified by the 'scrollopt' option.


:help scrollopt显示您要说:set scrollopt+=hor启用水平滚动。想要水平滚动(即禁用垂直滚动),那么您还需要说:set scollopt-=ver或通过set scrollopt=hor:set scrollopt=hor,jump显式设置scrollopt。

评论


无法完全解耦滚动。在:set scrollopt =(不等于)之后,在我的两个窗口上都执行了移动命令'm(跳转到“ m”)或gg。在进行:vertical拆分后未指定文件的情况下是ubuntu gvim

–胡安·拉努斯(Juan Lanus)
16年5月27日在18:09

显然我通过设置:set nocursorbind和:set scrollopt =(什么都没有)解决了前面的评论中提到的问题

–胡安·拉努斯(Juan Lanus)
16年5月27日在18:29

尚未完全解决。剩下的另一个选项是:set nodiff。我的vim当时以为我在区分同一文件的两个视图。 nodiff选项删除了vimdiff用于同步双方的全破折号线。

–胡安·拉努斯(Juan Lanus)
16年5月27日在21:18