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

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

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

Por supuesto, puedo volver a abrirlo 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é vim con éxito ayer sin que se suspendiera).

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

Revisé todas las soluciones en las primeras 10 páginas de Google para este problema, pero no encontré ninguna que lo resuelva. Me estoy acercando al punto en el que ya no entiendo por qué sucede esto y, por lo tanto, no puedo depurarlo.

¿Hay alguna forma de que pueda obtener procesos interactivos que vimdejen de suspenderse cuando intento ejecutarlos desde la terminal?

Editar: desde esta publicación, probé nuevas pestañas de iTerm y Terminal, reinicié iTerm y Terminal y reinicié mi computadora. Todos estos no han podido resolver este problema.

Respuestas (2)

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

Correr debería arreglarlo.stty -tostop

Si eso no soluciona el problema, eche un vistazo a este problema de GitHub desde el oh-my-zshrepositorio.

el problema resulta de una configuración :set shellcmdflag=-ic. Después de comentar [ed] que todos .vimrclos problemas relevantes fueron resueltos.

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

¡Gracias por responder tan rápido! Desafortunadamente, intenté ejecutar stty -tostop, pero los intentos posteriores de ejecutar vim (o nano, vi, emacs, etc.) aún están suspendidos. ps arevela que las únicas cosas que se ejecutan son login -fpy -zsh(y, según tengo entendido, se logininicia -zsh). ¿Es posible que se esté ejecutando algo más que no puedo ver que está escribiendo en la terminal?
En su pregunta, dijo que no ha reiniciado su computadora, ni ha cerrado ninguna ventana/pestaña de Terminal. Si este sigue siendo el caso, intente ambos. @PhpMyCoder
Desde la vimúltima vez que funcionó hasta hoy, cuando comenzó a suspenderse, no reinicié mi computadora/iTerm ni cerré ninguna pestaña de la terminal. Ahora he hecho los 3 y, sin embargo, vim aún continúa suspendido. Perdón por la confusión, reformularé la pregunta.
He modificado mi respuesta. @PhpMyCoder

Resulta que leí mal el primer resultado en Google . Supuse incorrectamente que se referían al shell de la terminal (y cuando dijeron shellmás adelante supuse que se referían a $SHELL, aunque debería haberme avisado por el hecho de que shellno estaba en mayúsculas). En cambio, se referían a la configuración de vim shell, que incorrectamente tenía la -ibandera en lugar de la -lbandera.

Entonces, en caso de que alguien más tenga este problema, ingrese a su .vimrcy cambie, asegúrese de que la línea que configura su shellse vea así:

set shell=/bin/zsh\ -l

(Reemplazando /bin/zshcon el valor de which zshsi está instalado en una ubicación no estándar, por supuesto).

Confirmación de referencia: https://github.com/devx/vimified/commit/772e130c9c359ac87927a963e00a9cc6597cd170