Wie kann ich beide Splits gleichzeitig nach links oder rechts scrollen lassen?

16

Ich möchte zwei verschiedene Teile eines Dokuments in horizontalen Teilungen öffnen (mit :sp) und beide zusammen nach links und rechts scrollen. Zum vertikalen Scrollen würden Sie verwenden scrollbind. Ich bin mir jedoch nicht sicher, was ich für das horizontale Scrollen verwenden soll.

Ich weiß, dass die Funktion verfügbar sein muss, da bei Verwendung vimdiffin beiden Dokumenten gleichzeitig ein horizontaler Bildlauf ausgeführt wird.

Christopher Bottoms
quelle

Antworten:

19

Um zwei Fenster in vim zusammen zu scrollen, müssen Sie :set scrollbindin jedem von ihnen ausgeführt werden. Wie Sie bereits bemerkt haben, wird hierdurch standardmäßig nur vertikales Scrollen gebunden. In den Dokumenten für scrollbind wird Folgendes erwähnt:

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

:help scrolloptzeigt an, dass Sie sagen möchten, dass :set scrollopt+=hordas horizontale Scrollen aktiviert werden soll.

Wenn Sie nur horizontales Scrollen möchten (dh vertikales Scrollen deaktivieren), möchten Sie auch :set scollopt-=verscrollopt über set scrollopt=horoder sagen oder explizit einstellen :set scrollopt=hor,jump.

Matt Boehm
quelle
Das Scrollen kann nicht vollständig entkoppelt werden. Nachdem ich: set scrollopt = (gleich nichts) gesetzt habe, werden in beiden Fenstern noch Bewegungsbefehle wie 'm (Sprung zur Markierung "m") oder gg ausgeführt. Es ist Ubuntu Gvim nach einem: vertikalen Split ohne Angabe einer Datei
Juan Lanus
Anscheinend habe ich das im vorherigen Kommentar erwähnte Problem durch Setzen von: set nocursorbind zusätzlich zu: set scrollopt = (nothing)
Juan Lanus
Nicht vollständig gelöst. Eine andere Option blieb übrig: setze nodiff. Mein vim dachte, dass ich zwei Ansichten der gleichen Akte unterschied. Mit der Option nodiff wurden die Striche entfernt, mit denen vimdiff beide Seiten synchronisiert.
Juan Lanus