Chcę zatrzymać Vima od przewijania (jeśli to właściwe słowo), kiedy podzielę okno poziomo.Jak zapobiec przewijaniu Vima podczas dzielenia okna?
Załóżmy, że edytuję plik 10-wierszowy w Vimie. Mam jedno okno na bufor, a okno ma 40 linii. Jest wystarczająco dużo miejsca na dwa okna, jeden na drugim, z których oba pokazują cały bufor. Powiedzmy, że scrolloff
jest ustawione na 4.
Kiedy podzielę okno na poziomo, oryginalne okno przewinie się tak, że dokładnie między wierszami okna a wierszem, w którym znajduje się kursor, znajdują się dokładnie linie scrolloff
więcej niż scrolloff
linii między górną częścią okna a linią kursora - nawet jeśli nie ma potrzeby przewijania.
Innymi słowy, jeśli kursor znajduje się na linii 1, 2, 3, 4 lub 5, kiedy podzielę okno, oryginalne okno nie "przesuwa się" (dobrze). Ale jeśli kursor znajduje się w wierszu 6, okno przewija się tak, że linia 2 staje się najbardziej widoczną linią ... zapewniając, że linie (4) są widoczne powyżej linii kursora (denerwujące). Podobnie, jeśli kursor znajduje się w linii 7, kiedy podzielę okno, pierwotne okno przewinięte do tej linii 3 staje się najbardziej widoczną linią. I tak dalej.
Czy istnieje sposób, aby skonfigurować Vima, aby nigdy nie przewijał oryginalnego okna, kiedy podzielę go poziomo?
Wyobrażam sobie, że można mapować <C-W>s
na funkcję, która robi to, co chcę, ale wolałbym rozwiązać to przez konfigurację, jeśli to możliwe.
Czy nie jest to bezpośredni efekt przewijania? – romainl
Zdarza się to, nawet gdy 'scrolloff' ma wartość 0 (tj. Nigdy nie zostało ustawione). Również 'scrolloff' ma być minimalną liczbą linii utrzymywanych powyżej/poniżej kursora, a nie dokładną liczbą. –
Można "ustawić przesunięcie = 999", które jest często używane do utrzymania bieżącego wiersza w środku okna. Wydaje się, że rozwiązuje to twój problem, ale może być bardzo denerwujące. – romainl