У меня проблема с gvim, когда перерисовка экрана частично не удается. Это сложно объяснить, но когда я открываю текстовый файл и страница вниз или вверх, весь текстовый файл перерисовывается неправильно. Я должен переместить курсор, прежде чем он перерисовывает. У меня есть скриншот здесь, поскольку он демонстрирует проблему: http://www.box.net/shared/l4m1vrffl0dhigi80huz
Кажется, что проблема ограничена gvim, потому что любое другое приложение, которое я запускаю, в порядке и правильно перерисовывает. Мне довольно легко воспроизвести в gvim. Консоль vim в порядке. Это заставляет меня думать, что проблема ограничена gvim.
ОС - это Arch linux 3.0, на котором установлены драйверы nvidia под Gnome3 (без компиза).
Вывод из uname
Linux cyclops 3.0-ARCH # 1 ПРЕДИСЛОВИЕ SMP Вторник, 30 августа 07:32:23 UTC 2011 i686 Процессор Intel® Core ™ (TM) 2, процессор 6600 @ 2,40 ГГц GenuineIntel GNU / Linux
lsmod
lsmod | grep nvidia
nvidia 10225284 40
agpgart 22096 1 nvidia
i2c_core 16625 2 nvidia,i2c_nforce2
gvim - версия
gvim --version VIM - Vi IMproved 7.3 (15 августа 2010 г., скомпилировано 30 сентября 2011 г., 05:51:10) Включенные исправления: 1-322 Скомпилировано в ArchLinux Большая версия с GTK2 GUI. Включенные функции (+) или нет (-): + арабский + autocmd + balloon_eval + просмотр ++ builtin_terms + byte_offset + cindent + clientserver + буфер обмена + cmdline_compl + cmdline_hist + cmdline_info + комментарии + скрыть + cryptv + cscope + cursorbind + cursorshape + диалоговое окно_конфигурации + diff + орграфы + dnd -ebcdic + emacs_tags + eval + ex_extra + extra_search + фарси + file_in_path + find_in_path + float + складывание -footer + fork () + gettext -hangul_input + iconv + insert_expand + jumplist + раскладка + раскладка + langmap + langmap + lispindent + listcmds + localmap -lua + menu + mksession + modify_fname + mouse + mouseshape + mouse_dec + mouse_gpm -mouse_jsbterm + mouse_netterm
Файл системного меню: "$ VIMRUNTIME / menu.vim" откат для $ VIM: "/ usr / share / vim" Компиляция: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pthread -I / usr / include / gtk-2.0 -I / usr / lib / gtk-2.0 / include -I / usr / include / atk-1.0 -I / usr / include / cairo -I /usr/include/gdk-pixbuf-2.0 -I / usr / include / pango-1.0 -I / usr / include / glib-2.0 -I / usr / lib / glib-2.0 / include -I / usr / include / pixman -1 -I / usr / include / freetype2 -I / usr / include / libpng14 -I / usr / local / include -march = i686 -mtune = универсальный -O2 -pipe -fstack-protector --param = ssp-buffer- size = 4 -D_FORTIFY_SOURCE = 1 Ссылка: gcc -L. -Wl, - hash-style = gnu -Wl, - по мере необходимости -rdynamic -Wl, -export-dynamic -Wl, -E -Wl, -rpath, / usr / lib / perl5 / core_perl / CORE -Wl -O1, -сортировка общего, -при необходимости -z, relro, -hash-style = gnu -L / usr / local / lib -Wl,
Ответы:
У меня была эта проблема, и я смог обойти ее, запустив gvim с
--sync
опцией. Это делает вызовы X асинхронными.(Спасибо за ссылку в комментарии Кристиана Брабандта, которая указала мне правильное направление.)
источник
Это поможет предоставить информацию о вашей ОС, видеокарте и т. Д. Похоже на GNOME3 на ...?
У меня была такая проблема, когда я запускал GVIM и другие приложения с Compiz в качестве моего Window Manager с видеокартой NVIDIA, и исправил ее, выбрав «Compiz Config Settings Manager»> Временные решения> проверьте «Qt Window Fix».
Не знаю, поможет ли это или что-то еще в вашем случае или нет, особенно если вы используете Mutter вместо Compiz.
источник
Какие плагины вы добавили в Vim, помимо того, что поставляется из коробки?
Может случиться так, что один из ваших обычно стабильных плагинов немного сбился с толку. Да, GTK выявляет проблему, но это, вероятно, не проблема. Все, что создает всплывающие окна или временно создает мини-буфер или что-то в этом роде. Автозаполнение, фрагменты, ... Если это дополнительный плагин или функция, попробуйте отключить его и посмотреть, исчезнет ли ваша проблема.
Хотя я не видел подобных всплывающих окон в вашем фильме, плагин, возможно, создает свое всплывающее окно, понимая, что он на самом деле не нужен, очищая всплывающее окно, но затем не перерисовывает содержимое, которое изначально находилось под ним.
Полноэкранная прокрутка не перерисовывает весь буфер. Курсор явно заставляет буфер перерисовывать соседей.
Конечно, это может быть основной проблемой GTK / GVim (я думаю, что X или OpenGL не имеют к этому никакого отношения), но мне это кажется маловероятным (хотя я обычно не использую Arch).
Если вы обнаружите, что это плагин, вы можете принудительно обновить или понизить версию (что угодно, кроме «сломанной» версии).
источник
FWIW Я избавился от проблемы, установив пакет vim-gtk3, заменив
vim-gtk
(Ubuntu).НОТА! По какой-то причине команда gvim по умолчанию не была сопоставлена с vim-gtk3, когда я установил пакет, поэтому мне пришлось запускать альтернативы обновления вручную, например так:
Большое спасибо за подсказки в этой теме, что GTK может быть проблемой. Эту проблему было трудно отследить даже с помощью Google!
источник