Мерцающий экран при прокрутке в Гвиме

Таким образом, в vim все виды прокрутки работают отлично, но в Gvim при прокрутке экрана мерцают, особенно заметные на более быстрых прокрутках типа pgdn/pgup, Ctrl+U и Ctrl+D. То же самое, когда я прокручиваю, перетаскивая ползунок с помощью мыши. Я попробовал разные цвета фона, но это не имеет никакого значения.

Любые идеи, как это исправить?

Ответ 1

Попросите разработчика (разработчиков) убедиться, что перерисовка экрана дважды буферизована.

Я помню, как это происходило в этом году назад, когда я использовал простые, не сглаженные вызовы X11 Draw в Gvim (около версии 6.0). В случае , скорость рисования не была заметна. При использовании чего-либо сглаживания, я мог наблюдать мерцание.

Очевидно, что двойная буферизация не, необходимая для исходного кода терминала, и я предполагаю, что обновления GUI получены из исходного кода обновления терминала.

ПРИМЕЧАНИЕ. Этот ответ предназначен только для справки о будущем развитии.

Ответ 2

Я столкнулся с подобной проблемой в Gvim на Windows. Во время прокрутки мерцает нижняя и верхняя строка, например, 10j.

Я был в состоянии полностью устранить это, добавив строки в мой .vimrc:

set lazyredraw
nnoremap <silent> j j:redraw<CR>
nnoremap <silent> k k:redraw<CR>

Ответ 3

Мой текущий обходной путь - использовать Vim-Qt, который является форком Vim с GUI, основанным на Qt вместо GTK. Хотя у него есть некоторые недостатки, такие как отсутствие полос прокрутки, отсутствие обслуживания (последний коммит 2 года назад), его преимущество в том, что он вообще не мерцает.

Мой форк Vim-Qt теперь реализует полосы прокрутки, поэтому, если они вам нужны, вы можете попробовать их вместо оригинального Vim-Qt.