Я сталкиваюсь с этой проблемой каждый раз, когда wrap
опция активна (в моем конкретном случае, когда я работаю с файлами уценки).
Что происходит, так это то, что при прокрутке буфера вверх и вниз с помощью j
и k
, обернутые строки текста (визуально формируя абзац) в дальнем верхнем и дальнем нижнем направлениях не прокручиваются плавно (т.е. по одному) за пределы экрана. Вместо этого целые абзацы исчезают и внезапно появляются в поле зрения, что создает дезориентирующий и раздражающий эффект.
Я думаю, что GIF лучше объяснит, что происходит. Здесь я просто нажимаю k
несколько раз, чтобы прокрутить вверх. Следите за параграфом внизу!
Я привык к этому поведению, потому что я не думал, что это можно исправить, но потом я понял, что этого не происходит с физическими линиями и без него wrap
.
Есть ли способ сказать Vim, чтобы прокручивать из экрана визуальные линии вместо физических?
PS: Да, я сопоставил мои j
и k
к gj
и gk
.
Ответы:
Это проблема, которая часто запрашивалась, но никогда не выполнялась. Так что нет, нет возможности для лучшей и более плавной прокрутки, как только строки будут перенесены.
источник
Я думаю, что вы ищете:
См
:help 'display'
.источник
wrap
не установлено. Поведение теперь выглядит фактически непоследовательным: более плавная (но все же не построчная) прокрутка при повышении и резкое появление абзаца при понижении (см. GIF ).:help 'scrolljump'
моему мнению, минимальный прыжок, который вы можете получить, составляет одну строку, когда курсор перемещается за пределы экрана. Но сwrap
set, как в вашем случае, одна строка может занимать несколько строк экрана.