échec de rafraîchissement de gvim

9

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,

sashang
la source
2
J'ai exactement le même problème dans Ubuntu 12.10, sous Gnome 3. Vous êtes la seule autre personne sur Internet que j'ai trouvée l'avoir. Avez-vous eu de la chance depuis la publication de cela?
jakar
@jakar Non, je n'ai jamais trouvé de solution. J'utilise maintenant fc17 avec les pilotes nvidia et je ne vois plus le problème, mais je n'utilise pas Gnome 3 en mode fantaisie.
sashang
Oui, je pense que cela a plus à voir avec gnome / gtk / xorg / drivers qu'avec gvim lui-même. Je n'ai pas non plus de problèmes dans fc17 (bien que sur une autre machine), même en exécutant des versions correspondantes de gvim, construites à partir des sources. Eh bien, je vais vivre avec pour l'instant. À tout le moins, merci pour la seule bonne description et vidéo de ce que j'ai vu.
jakar
J'ai aussi ce problème. Je serais vraiment intéressé par une solution.
Matt Fichman
2
Cela ressemble beaucoup au problème 91 et ma supposition actuelle est que c'est un problème de bibliothèque gtk.
Christian Brabandt

Réponses:

5

J'ai eu ce problème et j'ai pu contourner le problème en démarrant gvim avec l' --syncoption. Cela rend les appels X asynchrones.

(Merci au lien dans le commentaire de Christian Brabandt pour m'avoir pointé dans la bonne direction.)

Cougar Serpentine
la source
J'ai eu le même problème en exécutant Debian / 9 sur une machine virtualbox en plus des graphiques intégrés. Mêmes symptômes de redessins manquants - le fractionnement du tampon ne met pas à jour l'affichage jusqu'à ce que la tabulation alt vers une autre application et vice-versa. Le commutateur --sync a résolu le problème.
Andrew
0

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.

frabjous
la source
0

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").

user2097818
la source
0

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:

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

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!  

Hans Löfving
la source