Suspendido (salida tty) al iniciar editores como vim, vi, emacs o nano

3

He estado usando Oh-My-ZSH por algunas semanas y ha sido una gran experiencia. Justo hoy, sin embargo, la terminal comenzó a actuar de manera extraña. Cuando intento ejecutar un editor de terminal interactivo como vim , vi , emacs o nano , el proceso se suspende:

$ vim
[1] + 3515 suspended (tty output) vim

Por supuesto, puedo abrir una copia de seguridad con fg , pero esto es increíblemente molesto.

No estaba experimentando este problema ayer. Desde entonces no he reiniciado mi computadora, iTerm, ni siquiera he cerrado las pestañas de la terminal (desde la cual ejecuté exitosamente vim ayer sin que esté suspendida).

Además, temporalmente revertí mi shell a bash. Ahora exhibe este mismo comportamiento de suspensión como ZSH. Este problema ocurre tanto en iTerm2 como en el nativo osx Terminal.app para bash y zsh, así que, presumiblemente, no es un problema con mi shell.

He analizado todas las soluciones en las primeras 10 páginas de Google para este problema, pero no he encontrado una que lo resuelva. Me estoy aproximando al punto en el que ya no entiendo por qué sucede esto y, por lo tanto, no puedo solucionarlo.

¿Hay alguna forma de que pueda obtener procesos interactivos como vim para detener la suspensión cuando intento ejecutarlos desde el terminal?

Editar: Desde esta publicación, he probado con iTerm & Pestañas de terminales, relanzadas iTerm & Terminal, y reinicie mi computadora. Todos estos no han podido resolver este problema.

    
pregunta Bailey Parker 10.08.2015 - 06:07

2 respuestas

2

El terminal está suspendiendo el editor porque algún otro proceso está escribiendo en el terminal.

La ejecución de stty -tostop debería solucionarlo.

Si eso no soluciona el problema, eche un vistazo a este problema de GitHub en la oh-my-zsh repositorio.

  

el problema se debe a una configuración :set shellcmdflag=-ic . Después de comentar [ed] que de .vimrc todos los problemas relevantes se resolvieron.

Evidentemente, otros usuarios se han encontrado con este problema. Esta parece ser la solución correcta.

    
respondido por el Zach Gates 10.08.2015 - 06:28
0

Resulta que he leído mal el primer resultado en Google . Supuse incorrectamente que se referían al shell terminal (y cuando dijeron shell más tarde asumí que se referían a $SHELL , aunque debería haber sido advertido por el hecho de que shell no estaba capitalizado). En su lugar, se referían a la configuración de shell vim, que tenía incorrectamente el indicador -i en lugar del indicador -l .

Entonces, en caso de que alguien más tenga este problema, ingrese a su .vimrc y haga cambios para asegurarse de que la línea que establece su shell tenga este aspecto:

set shell=/bin/zsh\ -l

(Reemplazar /bin/zsh con el valor de which zsh si está instalado en una ubicación no estándar, por supuesto).

Confirmación de referencia: enlace

    
respondido por el Bailey Parker 10.08.2015 - 08:22

Lea otras preguntas en las etiquetas