Przewijanie w dół obu części podzielonego okna w tym samym czasie w Vimie

119

Czy możliwe jest przewijanie w dół lewej i prawej części podzielonego pionowo okna w Vimie? Mam dwa pliki, które chciałbym z grubsza porównać. Każda linia tych plików wygląda prawie tak samo.

LB40
źródło

Odpowiedzi:

90

Zobacz dokumentację dotyczącą wiązania przewijania . Musisz to ustawić dla każdego okna, które chcesz związać (np. Minimum 2)

Jeśli jednak porównujesz 2 pliki, vimdiff może być bardziej przydatny

Brian Agnew
źródło
4
Vimdiff ... gdzie byłeś całe moje życie?
hoosierEE
@BrianAgnew, daj nam tylko polecenie skopiowania, stary. Ułatwia nam życie. Jednak dzięki za vimdiff!
Nathan
184

Przejdź do pierwszego podziału i wpisz

:set scrollbind

Przejdź do następnego ( ctrl+ w) i zrób to samo.

Wyłączyć:

:set noscrollbind

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dotyczącą wiązania przewijania - http://vimdoc.sourceforge.net/htmldoc/scroll.html#scroll-binding

vyck
źródło
58
Jeśli masz otwarte wszystkie pliki, możesz również :windo set scrollbindustawić je dla wszystkich podziałów naraz.
Bernhard,
54
:windo set scrollbind

ustawi scrollbind we wszystkich oknach.

Vihaan Verma
źródło
3
Jeśli często to robisz, warto mieć coś takiego jak nmap <F5> :windo set scrollbind!<cr>przełączanie przewijania we wszystkich otwartych oknach.
jlund3
Nie wiem dlaczego, ale scrollbind!nie działa dla mnie, ale invscrollbindtak. SUPER mapowanie. Dzięki!
UlfR
11

Dzień dobry,

Próbowałeś użyć vimdiff na tych dwóch plikach?

vimdiff file1 file2

Dzięki temu domyślnie uzyskasz wiązanie przewijania.

Rob Wells
źródło
1
problem polega na tym, że wszystkie linie się różnią, zaczyna być bałagan ... Linie są prawie takie same, ale mogą różnić się o jeden znak ... i nie chcę, aby mój widok był zbyt zakłócony ... dzięki.
LB40,
1
@ LB40 możesz rozważyć zmianę schematu kolorów, zobacz stackoverflow.com/questions/24666558/ ...
qneill
8

Z wiersza poleceń:

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

-O = otwarte obok siebie.

-c = to, co następuje w cudzysłowach, jest traktowane jako opcja vima.

„windo” = dotyczy wszystkich paneli.

„scb” = skrót od scrollbind. Oszczędza trochę pisania, ale te dwa są wymienne.

'!' = przełącz. W ten sposób możesz użyć tego samego polecenia, aby wyłączyć go później, jeśli zechcesz.

noah
źródło
5

Oto, co musiałem zrobić dla potomności, ponieważ nie zacząłem od vimdiff.

Załadowałem jeden plik. Następnie: vsp, aby załadować inny.

To całkiem różne pliki, ale chciałem zobaczyć, co jest między nimi wspólne.

Więc...

:set diff
:set diffopt=iwhite
:set scrollbind
Sam Habiel
źródło
3
Możesz uzyskać to wszystko dla danego bufora (: diff,: diffopt,: scrollbind) w jednym poleceniu z: diffthis w każdym z buforów
qneill