error de redibujo de gvim

9

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,

Sashang
fuente
2
Tengo este mismo problema exacto en Ubuntu 12.10, en Gnome 3. Eres la única otra persona en Internet que he encontrado que lo tiene. ¿Alguna suerte desde que publicaste esto?
jakar
@jakar No, nunca encontré una manera de arreglar esto. Ahora estoy ejecutando fc17 con controladores nvidia y ya no veo el problema, pero no estoy usando Gnome 3 en su modo elegante.
Sashang
Sí, creo que tiene más que ver con gnome / gtk / xorg / drivers que con el propio gvim. Tampoco tengo problemas en fc17 (aunque en una máquina diferente), incluso ejecutando versiones coincidentes de gvim, construidas desde la fuente. Oh bueno, viviré con eso por ahora. Por lo menos, gracias por la única buena descripción y video de esto que he visto.
jakar
También tengo este problema. Estaría realmente interesado en una solución.
Matt Fichman
2
Esto se parece mucho al problema 91 y mi suposición actual es que este es un problema de la biblioteca gtk.
Christian Brabandt

Respuestas:

5

Tuve este problema y pude solucionar el problema iniciando gvim con la --syncopció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).

Puma serpentina
fuente
Tuve el mismo problema al ejecutar Debian / 9 en una máquina virtualbox sobre gráficos integrados. Los mismos síntomas de los redibujos faltantes: dividir el búfer no actualiza la pantalla hasta que se alterna la ficha con otra aplicación y viceversa. El modificador --sync solucionó el problema.
Andrew
0

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.

precioso
fuente
0

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

usuario2097818
fuente
0

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:

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

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!  

Hans Löfving
fuente