2009-08-21 13 views
5

Acabo de compilar vim 7.2 en un servidor Linux (en mi directorio de usuario, ya que el servidor tenía vim 6 instalado y quería actualizar pero no tenía privilegios de administrador).Vim 7.2 se cuelga al iniciar, "killall vim" lo arregla

Cuando ingreso "vim", se cuelga en el inicio sin ninguna respuesta, pero cuando llamo "killall vim" desde otra ventana ssh, el inicio se completa y vim parece funcionar bien después de eso. ¿Por qué sería eso y cómo puedo solucionarlo?

Muchas gracias por sus respuestas.

Respuesta

5

strace vim probablemente le dirán qué le cuelga.

+1

tuve el mismo problema, strace salvó mi día – Nazgob

+0

¡Gracias! Con 'strace', vi que se estaba estancando el uso de la variable de entorno' DISPLAY' y luego me di cuenta de que estaba mal configurado. –

16

Bueno, he encontrado la respuesta:

:help -X 

muestra que Vim intenta conectarse al servidor X11 en el arranque para obtener la funcionalidad del portapapeles y otras cosas, que puede conducir a un "tiempo de inicio de largo cuando se ejecuta Vim en un emulador de terminal y la conexión con el servidor X es lento"

Hay tres maneras de resolver este problema:

  1. Comenzando con Vim 'vim -X' desactiva Thi s X11 comunicación
  2. Calling "unset DISPLAY" también desactiva la comunicación X11
  3. Si Vim se compila sin la característica de "+X11", esta comunicación no se llevará a cabo

Fui para "unset DISPLAY", ya que' He estado recibiendo otros mensajes de error extraños, y ahora vim se inicia casi todo al instante. También probé el parámetro -X, que también resolvió el problema (incluso con el parámetro DISPLAY aún configurado).

+0

Agregué "DESACTIVAR PANTALLA" a mi pantalla. –

+0

He intentado con los números 1 y 2, y no funcionaron para mí. Establecer 'set mouse =' in .vimrc hizo el truco. –

1

Otra razón común para vim colgando al inicio es cuando intenta acceder a GPM (es decir, fuentes personalizadas, etc.). En mi caso, estaba teniendo los mismos síntomas, pero terminó siendo un problema relacionado con el mouse con GPM.

Poniendo lo siguiente (desde: http://www.linuxquestions.org/questions/slackware-14/vim-freeze-at-startup-when-in-ssh-session-856606/) en mi .vimrc corrigió el problema del hang-on-startup con VIM.

" This section is bigger in my .vimrc, this is just an excerpt. 
if has('gui_running') 
    " Mouse on GUI comes handy. 
    set mouse=a 
else 
    set mouse= 
endif 

Esperanza esto ayuda a otros lectores que vienen de esta manera :)

0

relacionados con el caso mencionado de vim que cuelga en el arranque al intentar acceder a GPM, se puede saber si este es el caso usando strace. En primer lugar vim carreras en un terminal/consola de modo que cuelgue

vim 

luego ir a otro terminal, obtener el PID y Strace que

$> pgrep vim       
32502 

$> strace -p 32502 
Process 32502 attached - interrupt to quit 
connect(4, {sa_family=AF_FILE, path="/dev/gpmctl"...}, 13 

por lo que tenemos un caso GPM. Sólo tienes que reiniciar el servicio GPM y que son buenos para ir

$> service gpm restart 
Shutting down console mouse services:      [ OK ] 
Starting console mouse services:       [ OK ] 
0

Usando strace vim para detectar el error me dio esto:

.vim/paquete/Vundle.vim", {st_mode = S_IFDIR | 0755, st_size = 4096, ...}) = 0 getdents (4,/* 0 entradas * /, 32768) = 0 cerrar (4) = 0 --- SIGSEGV (fallo de segmentación) @ 0 (0) ---

lo que la eliminación Vundle.vim corrigió el problema.