Scrollen Sie in Vim gleichzeitig durch beide Teile eines geteilten Fensters


119

Ist es in Vim möglich, den linken und rechten Teil eines vertikal geteilten Fensters nach unten zu scrollen? Ich habe zwei Dateien, die ich grob vergleichen möchte. Jede Zeile dieser Dateien sieht fast gleich aus.

Antworten:


90

Informationen zum Scrollen finden Sie in der Dokumentation . Sie müssen dies für jedes Fenster festlegen , das gebunden werden soll (z. B. mindestens 2).

Wenn Sie jedoch zwei Dateien vergleichen, kann vimdiff von größerem Nutzen sein


4
Vimdiff ... wo warst du mein ganzes Leben lang?
HoosierEE

@BrianAgnew gib uns nur einen Befehl zum Kopieren, Mann. Erleichtert unser Leben. Danke für vimdiff!
Nathan

184

Gehen Sie zum ersten Split und geben Sie ein

:set scrollbind

Gehen Sie zum nächsten ( ctrl+ w) und machen Sie dasselbe.

Etwas deaktivieren:

:set noscrollbind

Weitere Informationen finden Sie in der Dokumentation zur Bildlaufbindung - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding


58
Wenn Sie alle Dateien geöffnet haben, können Sie sie auch :windo set scrollbindfür alle Teilungen gleichzeitig festlegen.
Bernhard

54
:windo set scrollbind

setzt die Bildlaufbindung in allen Fenstern.


3
Wenn Sie dies häufig tun, kann es nützlich sein, die nmap <F5> :windo set scrollbind!<cr>Bildbindung in allen geöffneten Fenstern umzuschalten.
jlund3

Ich weiß nicht warum, habe scrollbind!aber nicht für mich gearbeitet, aber invscrollbindgetan. Eine SUPER-Zuordnung. Vielen Dank!
UlfR

11

Tag auch,

Versucht mit vimdiff für die beiden Dateien?

vimdiff file1 file2

Dadurch erhalten Sie standardmäßig die Bildlaufbindung.


1
Das Problem ist, dass sich alle Zeilen unterscheiden, es beginnt ein Durcheinander zu sein. Die Zeilen sind fast gleich, können sich aber um ein Zeichen unterscheiden ... und ich möchte nicht, dass meine Sicht zu sehr gestört wird.
LB40

1
@ LB40 Sie könnten erwägen, Ihr Farbschema zu optimieren, siehe stackoverflow.com/questions/24666558/…
qneill

8

Über die Befehlszeile:

vim -O file1 file2 -c 'windo set scb!'

-O = nebeneinander geöffnet.

-c = Was in Anführungszeichen folgt, wird als vim-Option behandelt.

'windo' = gilt für alle Panels.

'scb' = Abkürzung für Scrollbind. Spart einige Eingaben, aber die beiden sind austauschbar.

'!' = umschalten. Auf diese Weise können Sie denselben Befehl verwenden, um ihn später zu deaktivieren, wenn Sie dies wünschen.


5

Für die Nachwelt musste ich Folgendes tun, da ich nicht mit vimdiff angefangen habe.

Ich habe eine Datei geladen. Dann: vsp, um den anderen zu laden.

Es sind ziemlich unterschiedliche Dateien, aber ich wollte sehen, was zwischen ihnen gemeinsam ist.

So...

:set diff
:set diffopt=iwhite
:set scrollbind

3
Sie können alle für einen bestimmten Puffer (: diff ,: diffopt ,: scrollbind) in einem Befehl mit: diffthis in jedem der Puffer
abrufen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.