Zajmuję się tym problemem za każdym razem, gdy wrap
opcja jest aktywna (w moim przypadku za każdym razem, gdy pracuję z plikami przeceny).
To, co się dzieje, polega na tym, że podczas przewijania bufora w górę i w dół za pomocą j
i k
, owinięte linie tekstu (wizualnie tworzą akapit) na skraju górnego i dolnego końca nie przewijają się płynnie (tj. Jeden po drugim) poza ekran. Zamiast tego całe akapity znikają i pojawiają się nagle z widoku, co powoduje dezorientację i irytujący efekt.
Myślę, że GIF lepiej wyjaśni, co się stanie. Tutaj naciskam tylko k
kilkakrotnie, aby przewijać w górę. Obserwuj akapit w dolnej części!
Przyzwyczaiłem się do tego zachowania, ponieważ nie sądziłem, że można to naprawić, ale potem zdałem sobie sprawę, że nie dzieje się tak z liniami fizycznymi i wrap
rozbrojeniem.
Czy istnieje sposób, aby powiedzieć Vimowi, aby przewinął poza ekran liniami wizualnymi zamiast fizycznymi?
ps: Tak, zmapowałem moje j
i k
do gj
i gk
.
Odpowiedzi:
Jest to problem, o który często pytano, ale nigdy nie został on wdrożony. Więc nie, nie ma możliwości lepszego i płynniejszego przewijania po zawinięciu linii.
źródło
Myślę, że szukasz:
Zobaczyć
:help 'display'
.źródło
wrap
jest ustawione. Zachowanie wygląda teraz w rzeczywistości niekonsekwentnie: bardziej stopniowe (ale nadal nie linia po linii) przewijanie podczas wchodzenia w górę i nagłe pojawianie się akapitów podczas schodzenia (patrz GIF ).:help 'scrolljump'
mnie minimalny skok, jaki można uzyskać, to jedna linia, gdy kursor przesuwa się poza ekran. Ale przywrap
ustawieniu jak w twoim przypadku, jedna linia może zajmować wiele linii ekranu.