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.