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.

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


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


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.


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.


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.


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

3
Możesz uzyskać to wszystko dla danego bufora (: diff,: diffopt,: scrollbind) w jednym poleceniu z: diffthis w każdym z buforów
qneill
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.