відмова перемальовує gvim


9

У мене проблема з gvim, де перерисування екрана частково виходить з ладу. Це важко пояснити, але коли я відкриваю текстовий файл і сторінки вниз або вгору, весь текстовий файл не перемальовується належним чином. Я повинен перемістити курсор спочатку, перш ніж він перемальовується. У мене тут є сценарій екрана, оскільки він демонструє проблему: http://www.box.net/shared/l4m1vrffl0dhigi80huz

Здається, що проблема обмежується gvim, тому що будь-яка інша програма, яку я запускаю, добре і переробляє належним чином. Мені досить легко відтворити в gvim. Консоль vim в порядку. Змушує мене думати, що питання обмежується gvim.

ОС є Arch linux 3.0, на якому запущені драйвери nvidia під керуванням Gnome3 (no compiz).

Вихід від uname

Циклопи Linux 3.0-ARCH №1 SMP PREEMPT Вт 30 серпня 07:32:23 UTC 2011 i686 Intel (R) Core (TM) 2 CPU 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 (2010 р. 15 серпня, складено 30 вересня 2011 р. 05:51:10) Включені патчі: 1-322 Укладено ArchLinux Велика версія з графічним інтерфейсом GTK2. Можливості, включені (+) чи ні (-): + арабська + autocmd + повітряна куля_eval + перегляд ++ вбудовані_терми + байт-офсет + cindent + clientserver + буфер обміну + cmdline_compl + cmdline_hist + cmdline_info + коментарі + приховати + cryptv + cscope + cursorbind + dialogs__surzor_ips + diff + digraphs + dnd -ebcdic + emacs_tags + eval + ex_extra + extra_search + farsi + file_in_path + find_in_path + float + folding -footer + fork () + gettext -hangul_input + iconv + insert_expand + jumplist + keymap + linemap + linemap + langmap + langmap + langmap + lispindent + listcmds + localmap -lua + меню + mksession + modify_fname + миша + форма миші + 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 / включати / gtk-2.0 -I / usr / lib / gtk-2.0 / включати -I / usr / включати / atk-1.0 -I / usr / включати / 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 = generic -O2 -pipe -fstack-protector --param = ssp-buffer- розмір = 4 -D_FORTIFY_SOURCE = 1 Зв'язування: gcc -L. -Wl, - хеш-стиль = gnu -Wl, - за потребою -рдинамічний -Wl, -експорт-динамічний -Wl, -E -Wl, -rpath, / usr / lib / perl5 / core_perl / CORE -Wl , -O1, - sort-common, - за потребою, -z, relro, - hash-style = gnu -L / usr / local / lib -Wl,


2
У мене така сама точна проблема в Ubuntu 12.10, під Gnome 3. Ви - єдиний інший користувач в Інтернеті, який у мене з’явився. Будь-яка удача з часу публікації цього?
jakar

@jakar Ні, я ніколи не знайшов способу це виправити. Зараз я запускаю fc17 з драйверами nvidia і більше не бачу проблеми, але я не використовую Gnome 3 у своєму фантазійному режимі.
sashang

Так, я думаю, що це стосується більше gnome / gtk / xorg / драйверів, ніж самого gvim. У мене також немає проблем у fc17 (хоча і на іншій машині), навіть запускаючи відповідні версії gvim, побудовані з джерела. Ну добре, я зараз з цим житиму. Принаймні, дякую за єдиний хороший опис і відео цього, що я бачив.
jakar

У мене теж є ця проблема. Мені б дуже цікаво рішення.
Метт Фіхман

2
Це дуже схоже на випуск 91, і я вважаю, що це проблема бібліотеки gtk.
Крістіан Брабандт

Відповіді:


5

У мене виникла ця проблема, і я зміг обійти проблему, запустивши gvim з --syncопцією. Це робить виклики X асинхронними.

(Завдяки посиланню в коментарі Крістіана Брабандта за те, що я вказував мене в правильному напрямку.)


Була ця сама проблема із запуском Debian / 9 у віртуальній машині поверх інтегрованої графіки. Ті ж симптоми відсутніх перемальовок - розщеплення буфера не оновлює дисплей до вкладки alt до іншої програми та назад. Перемикач --sync виправив проблему.
Андрій

0

Це допоможе надати інформацію про вашу ОС, відеокарту тощо. Схоже, GNOME3 на ...?

У мене виникла така проблема під час запуску GVIM та інших додатків із Compiz як мій менеджер вікон з відеокартою NVIDIA, і виправили її, перейшовши в "Менеджер налаштувань налаштувань Compiz"> Обхідні шляхи> встановіть прапорець "Виправлення вікна Qt".

Немає поняття, чи це чи щось інше допоможе у вашому випадку чи ні, особливо якщо ви використовуєте Mutter замість Compiz.


0

Які плагіни ви підключили до Vim після того, що вийшло з коробки?

Можливо, один із ваших нормально стабільних плагінів на вас трохи вийшов. Так, GTK виявляє проблему, але це, ймовірно, не проблема. Все, що створює спливаючі вікна або тимчасово створює міні-буфер чи щось подібне. Автозавершення, фрагменти, ... Якщо це додатковий плагін або функція, спробуйте вимкнути його і побачити, чи не усунеться ваша проблема.

Хоча я не бачив жодного подібного спливаючого вікна у вашому фільмі, плагін, можливо, створює його спливаюче вікно, усвідомлюючи його фактично не потрібно, очищаючи спливаюче вікно, але потім не перемальовуючи вміст, який був спочатку під ним.

Якщо прокрутка на весь екран не перефарбує весь буфер. Курсор, очевидно, змушує буфер перефарбовувати сусідів.

Звичайно, це може бути основною проблемою GTK / GVim (я думаю, що X або OpenGL не мають до цього нічого спільного), але мені це здається малоймовірним (хоча Arch я зазвичай не використовую).

Якщо ви виявите, що це плагін, можливо, вам доведеться примусити оновити або поновити версію (що завгодно, крім "зламаної" версії).


0

FWIW Я позбувся проблеми, встановивши пакет vim-gtk3, замінивши vim-gtk(Ubuntu).

ПРИМІТКА! Чомусь команда gvim за замовчуванням не була зіставлена ​​на vim-gtk3, коли я встановив пакет, тому мені довелося запускати оновлення-альтернативи вручну, як-от так:

sudo update-alternatives --set gvim /usr/bin/vim.gtk3

Дякую за натяки в цій темі, що проблема може стати GTK. Цю проблему було важко розібрати навіть за допомогою Google!  

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.