Tengo un problema con gvim donde la redibujada de la pantalla falla parcialmente. Es difícil de explicar, pero cuando abro un archivo de texto y una página hacia abajo o hacia arriba, todo el archivo de texto no se vuelve a dibujar correctamente. Tengo que mover el cursor primero antes de que se vuelva a dibujar. Tengo una captura de pantalla aquí porque demuestra el problema: http://www.box.net/shared/l4m1vrffl0dhigi80huz
Parece que el problema se limita a gvim porque todas las demás aplicaciones que ejecuto están bien y se vuelven a dibujar correctamente. Es bastante fácil para mí reproducirme en gvim. La consola vim está bien. Me hace pensar que el problema se limita a gvim.
El sistema operativo es Arch Linux 3.0 que ejecuta los controladores nvidia que ejecutan Gnome3 (sin compiz).
Salida de uname
Linux cyclops 3.0-ARCH # 1 SMP PREEMPT Mar 30 de agosto 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 de agosto de 2010, compilado el 30 de septiembre de 2011 05:51:10) Parches incluidos: 1-322 Compilado por ArchLinux Big versión con GTK2 GUI. Características incluidas (+) o no (-): + árabe + autocmd + globo_eval + navegar ++ builtin_terms + byte_offset + cindent + clientserver + portapapeles + cmdline_compl + cmdline_hist + cmdline_info + comentarios + encubrir + 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 + plegable -footer + fork () + gettext -hangul_input + iconv + insert_expand + jumplist + keymap + langmap + libcall + linebreak + lispindent + listcmds + localmap -lua + menu + mksession + modify_fname + mouse + mouseshape + mouse_dec + mouse_gpm -mouse_jsbterm + mouse_netterm
archivo de menú del sistema: "$ VIMRUNTIME / menu.vim" alternativa para $ VIM: "/ usr / share / vim" Compilación: 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 = generico -O2 -pipe -fstack-protector --param = ssp-buffer- size = 4 -D_FORTIFY_SOURCE = 1 Vinculación: gcc -L. -Wl, - hash-style = gnu -Wl, - según sea necesario -rdynamic -Wl, -export-dynamic -Wl, -E -Wl, -rpath, / usr / lib / perl5 / core_perl / CORE -Wl , -O1, - sort-common, - según sea necesario, -z, relro, - hash-style = gnu -L / usr / local / lib -Wl,
Respuestas:
Tuve este problema y pude solucionar el problema iniciando gvim con la
--sync
opción. Esto hace que las llamadas X sean asíncronas.(Gracias al enlace en el comentario de Christian Brabandt por señalarme en la dirección correcta).
fuente
Sería útil proporcionar información sobre su sistema operativo, tarjeta de video, etc. ¿Parece GNOME3 en ...?
Tuve un problema como este al ejecutar GVIM y otras aplicaciones con Compiz como mi Administrador de ventanas con una tarjeta de video NVIDIA, y lo arreglé yendo a "Administrador de configuración de configuración de Compiz"> Soluciones> marque "Qt Window Fix".
No tengo idea de si esto, o alguna otra cosa, ayudará en su caso o no, especialmente si está usando Mutter en lugar de Compiz.
fuente
¿Qué tipo de complementos has introducido en Vim más allá de lo que salió de la caja?
Puede haber una posibilidad de que uno de tus complementos normalmente estables te haya fallado un poco. Sí, GTK está revelando el problema, pero probablemente no sea EL problema. Todo lo que crea ventanas emergentes o crea temporalmente un mini-búfer o algo así. Autocompletado, fragmentos, ... Si se trata de un complemento o función adicional, intente desactivarlo y verifique si su problema desaparece.
Aunque no vi tales ventanas emergentes en su película, el complemento puede estar creando su ventana emergente, dándose cuenta de que no es realmente necesario, borrando la ventana emergente, pero luego no volviendo a dibujar el contenido que originalmente estaba debajo.
Hacer un desplazamiento a pantalla completa no vuelve a pintar todo el búfer. El cursor obviamente está obligando al búfer a pintar vecinos.
Por supuesto, podría ser un problema central de GTK / GVim (creo que X u OpenGL no tienen nada que ver con eso), pero me parece poco probable (aunque normalmente no uso Arch).
Si encuentra que es un complemento, es posible que desee forzar una actualización de versión o una versión anterior (cualquier cosa menos la versión "rota").
fuente
FWIW Me libré del problema instalando el paquete vim-gtk3, reemplazando
vim-gtk
(Ubuntu).¡NOTA! Por alguna razón, el comando gvim predeterminado no se asignó a vim-gtk3 cuando instalé el paquete, por lo que tuve que ejecutar las alternativas de actualización manualmente de la siguiente manera:
Muchas gracias por las sugerencias en este hilo de que GTK podría ser el problema. ¡Este problema fue difícil de localizar incluso con Google!
fuente