J'ai un problème avec gvim où le rafraîchissement de l'écran échoue partiellement. C'est difficile à expliquer, mais lorsque j'ouvre un fichier texte et que je pagine vers le bas ou vers le haut, le fichier texte entier n'est pas redessiné correctement. Je dois d'abord déplacer le curseur avant de le redessiner. J'ai ici une capture d'écran car cela montre le problème: http://www.box.net/shared/l4m1vrffl0dhigi80huz
Il semble que le problème soit limité à gvim car toutes les autres applications que j'exécute sont correctes et se redessinent correctement. Il est assez facile pour moi de reproduire dans gvim. Le vim de la console est très bien. Cela me fait penser que le problème est limité à gvim.
Le système d'exploitation est Arch linux 3.0 exécutant les pilotes nvidia exécutant Gnome3 (sans compiz).
Sortie d'uname
Linux cyclops 3.0-ARCH # 1 SMP PREEMPT mar 30 août 07:32:23 UTC 2011 i686 Intel (R) Core (TM) 2 CPU 6600 @ 2.40GHz GenuineIntel GNU / Linux
lsmod
lsmod | grep nvidia
nvidia 10225284 40
agpgart 22096 1 nvidia
i2c_core 16625 2 nvidia,i2c_nforce2
gvim --version
gvim --version VIM - Vi IMproved 7.3 (15 août 2010, compilé le 30 septembre 2011 05:51:10) Correctifs inclus: 1-322 Compilé par ArchLinux Grande version avec GTK2 GUI. Fonctionnalités incluses (+) ou non (-): + arabe + autocmd + balloon_eval + parcourir ++ builtin_terms + byte_offset + cindent + clientserver + clipboard + cmdline_compl + cmdline_hist + cmdline_info + commentaires + cacher + cryptv + cscope + cursorbind + cursorshape + dialog_con_gui + 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 + langmap + linecall + lispindent + listcmds + localmap -lua + menu + mksession + modify_fname + mouse + mouseshape + mouse_dec + mouse_gpm -mouse_jsbterm + mouse_netterm
fichier de menu système: "$ VIMRUNTIME / menu.vim" de secours pour $ VIM: "/ usr / share / vim" Compilation: 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 = generic -O2 -pipe -fstack-protector --param = ssp-buffer- taille = 4 -D_FORTIFY_SOURCE = 1 Liaison: gcc -L. -Wl, - hash-style = gnu -Wl, - as-needed -rdynamic -Wl, -export-dynamic -Wl, -E -Wl, -rpath, / usr / lib / perl5 / core_perl / CORE -Wl , -O1, - sort-common, - selon les besoins, -z, relro, - hash-style = gnu -L / usr / local / lib -Wl,
Réponses:
J'ai eu ce problème et j'ai pu contourner le problème en démarrant gvim avec l'
--sync
option. Cela rend les appels X asynchrones.(Merci au lien dans le commentaire de Christian Brabandt pour m'avoir pointé dans la bonne direction.)
la source
Il serait utile de fournir des informations sur votre système d'exploitation, votre carte vidéo, etc. Ressemble à GNOME3 sur ...?
J'ai eu un problème comme celui-ci lors de l'exécution de GVIM et d'autres applications avec Compiz comme gestionnaire de fenêtres avec une carte vidéo NVIDIA, et je l'ai résolu en allant dans "Gestionnaire de paramètres de configuration Compiz"> Solutions de contournement> cochez "Correctif de fenêtre Qt".
Aucune idée si cela, ou autre chose, vous aidera ou non dans votre cas, surtout si vous utilisez Mutter au lieu de Compiz.
la source
Quel type de plugins avez-vous connecté à Vim au-delà de ce qui a été fourni avec la boîte?
Il y a peut-être une chance que l'un de vos plugins normalement stables vous ait un peu brisé. Oui, GTK révèle le problème, mais ce n'est probablement pas LE problème. Tout ce qui crée des fenêtres contextuelles ou crée temporairement un mini-tampon ou quelque chose comme ça. Autocompletion, snippets, ... S'il s'agit d'un plugin ou d'une fonctionnalité supplémentaire, essayez de le désactiver et voyez si votre problème disparaît.
Bien que je n'aie pas vu de telles fenêtres contextuelles dans votre film, le plugin peut créer sa fenêtre contextuelle, réalisant que ce n'est pas vraiment nécessaire, effacer la fenêtre contextuelle, mais ne pas redessiner le contenu qui était à l'origine en dessous.
Faire un défilement plein écran ne repeint pas la totalité du tampon. Le curseur oblige évidemment le tampon à repeindre les voisins.
Bien sûr, cela pourrait être un problème de base GTK / GVim (je pense que X ou OpenGL n'y sont pour rien), mais cela me semble peu probable (bien que je n'utilise pas couramment Arch).
Si vous trouvez que c'est un plugin, vous voudrez peut-être forcer une mise à niveau ou une rétrogradation de la version (tout sauf la version "cassée").
la source
FWIW Je me suis débarrassé du problème en installant le paquet vim-gtk3, en remplaçant
vim-gtk
(Ubuntu).REMARQUE! Pour une raison quelconque, la commande gvim par défaut n'était pas mappée à vim-gtk3 lorsque j'ai installé le package, j'ai donc dû exécuter update-alternatives manuellement comme ceci:
Merci beaucoup pour les indices dans ce fil que GTK pourrait être le problème. Ce problème était difficile à localiser même en utilisant Google!
la source