gvim riesamina il fallimento

Ho un problema con gvim where lo schermo rimpiazza parzialmente fallisce. È difficile da spiegare, ma quando apro un file di text e una pagina verso il basso o l'integer file di text non viene ridefinito correttamente. Devo spostare prima il cursore prima di ridisegnare. Ho qui un screencapture dato che dimostra il problema: http://www.box.net/shared/l4m1vrffl0dhigi80huz

Sembra che il problema sia limitato a gvim perché each altra applicazione corretta va bene e redige correttamente. È abbastanza facile per me riprodurre in gvim. La console vim va bene. Mi fa pensare che il problema sia limitato a gvim.

Il sistema operativo è Arch linux 3.0 che esegue i driver nvidia in esecuzione Gnome3 (non compiz).

Uscita da uname

Linux Cyclops 3.0-ARCH # 1 SMP PREEMPT martedì agosto 30 07:32:23 UTC 2011 i686 Intel (R) Core 2 TM 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 (2010 Ago 15, compilato Sep 30 2011 05:51:10) Patch inclusi: 1-322 Compilato da ArchLinux Grande versione con GUI GTK2. Funzioni incluse (+) o less (-): + arabic + autocmd + balloon_eval + navigazione ++ builtin_terms + byte_offset + cindent + clienterver + appunti + cmdline_compl + cmdline_hist + cmdline_info + commenti + hide + cryptv + cscope + cursorbind + cursorshape + dialog_con_gui + diff + digraphs + dnd -ebcdic + emacs_tags + eval + ex_extra + extra_search + farsi + file_in_path + trovare_in_path + float + pieghevole -footer + fork (gettext -hangul_input + iconv + insert_expand + jumplist + keymap + langmap + libcall + linebreak + lispindent + listcmds + localmap -lua + menu + mksession + modifica_fname + mouse + mouseshape + mouse_dec + mouse_gpm -mouse_jsbterm + mouse_netterm

-mouse_sysmouse + mouse_xterm + multi_byte + multi_lang -mzscheme + netbeans_intg + path_extra + perl + persistent_undo + postscript + printingnte -profilo + python / dyn + python3 / dyn + quickfix + reltime + rightleft + ruby ​​+ scrollbind + segni + smartindent -sniff + startuptime + statusline -sun_workshop + syntax + tag_binary + tag_old_static -tag_any_white -tcl + terminfo + termresponse + textobjects + title + barra degli strumenti + user_commands + vertsplit + virtualedit + visual + visualextra + viminfo + vreplace + wildignor + wildmenu + windows + writebackup + X11 -xfontset + xim + xsmp_interact + xterm_clipboard -xterm_save sistema vimrc file: "/ etc / vimrc" file vimrc utente: "$ HOME / .vimrc" file exrc utente: "file HOME / .exrc" gvimrc: "/ etc / gvimrc" file di utente gvimrc: file di menu di sistema "$ HOME / .gvimrc": "$ VIMRUNTIME / menu.vim" fall-back per $ VIM: "/ usr / share / vim" Compilazione: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_GTK -pread -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 = generico -O2 -pipe -fstack-protector-param = ssp- size = 4 -D_FORTIFY_SOURCE = 1 Collegamento: gcc -L. -Wl, – hash-style = gnu -Wl, – come-necessario -rdynamic -Wl, -export-dinamico -Wl, -E -Wl, -rpath, / usr / lib / perl5 / core_perl / CORE -Wl – -how-style, -o1, – sort-common, – come-necessario, -z, relro, – hash-style = gnu -L / usr / local / lib -Wl, lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 – lgthread-2.0 -lrt -lglib-2.0 -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE -lm -lncurses -lelf -lnsl -lacl -lattr -lgpm -ldl -Wl, -E-Wl, -rpath, / usr / lib / perl5 / core_perl / CORE -Wl, -O1, – sort-common, – come-necessario, -z, relro, – hash-style = gnu -fstack-protector -L / usr / local / lib -L / usr / lib / perl5 / core_perl / CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc -lruby -lpthread -lrt -ldl -lcrypt -lm -L / usr / lib

Ho avuto questo problema ed è stato in grado di aggirare il problema avviando gvim con l'opzione --sync . Ciò rende le chiamate X asincrone.

(Grazie al collegamento nel commento di Christian Brabandt per indicarmi nella giusta direzione).

Sarebbe utile fornire informazioni sul tuo sistema operativo, scheda video, ecc. Sembra GNOME3 su …?

Ho avuto un problema come questo quando eseguo GVIM e altre applicazioni con Compiz come il mio Window Manager con una scheda video NVIDIA e ho risolto con il command "Compiz Config Settings Manager"> Soluzioni alternative> controlla "Qt Window Fix".

Nessun indizio se questo, o qualcos'altro, aiuterà nel tuo caso o no, specialmente se stai utilizzando Mutter invece di Compiz.

Quale tipo di plugin hai fatto entrare in Vim al di là di quello che è stato messo in bundle dalla scatola?

Può essere una probabilità che uno dei tuoi plugin normalmente stabili è andato un po 'glitchy su di te. Sì, GTK sta rivelando il problema, ma probabilmente non è il problema. Tutto ciò che crea windows popup o crea temporaneamente un mini-buffer o qualcosa del genere. Autocompletion, snippet, … Se è un plugin o una funzionalità aggiuntive, prova a distriggersrla e vedere se il tuo problema va via.

Anche se non ho visto alcun tipo di popup nel tuo film, il plugin potrebbe essere la creazione del suo popup, rendendolo conto che non è neanche necessario, eliminando il popup, ma non rivedendo il contenuto originariamente sotto.

Fare un rotolo a schermo integer non ridimensiona l'integer buffer. Cursore è ovviamente costringendo il buffer a ridipingere i vicini.

Naturalmente potrebbe essere un problema di base GTK / GVim (penso che X o OpenGL non abbiano nulla a che fare con esso), ma mi sembra improbabile (anche se non comunemente uso Arch).

Se si scopre che è un plugin, si potrebbe voler forzare un upgrade di versione o un downgrade (qualsiasi cosa tranne la versione "rotta").