En mi shell tengo el control de flujo deshabilitado usando stty -ixon. Esto funciona perfectamente en el shell y cuando inicio tmuxe inicio programas dentro
tmux.
Sin embargo, cuando se inicia una nueva sesión desde la línea de comandos y se inicia directamente un comando, la configuración del control de flujo no se respeta y ctrl-scongela el terminal.
Esto funciona:
tmux new-session -s foo
vim
Esto no respeta la sttyconfiguración de control de flujo:
tmux new-session -s foo vim
¿Cómo puedo desactivar el control de flujo incluso en este último caso?

tmuxpara todos los casos, o está interesado en aclarar por qué funciona en el primer ejemplo pero no en el segundo?Respuestas:
Si tiene
stty -ixonla inicialización de su shell, es bastante simple: cuandotmuxcrea nuevos terminales, ejecuta el shell predeterminado del usuario de forma predeterminada y eso a su vez deshabilita el flujo de control durante la inicialización. Sin embargo, cuando le pide a tmux que ejecute un comando específico (ViM en su caso), no se realiza la inicialización y se aplica la configuración predeterminada del terminal (control de flujo habilitado).Debería solucionar su problema.
fuente
Una solución alternativa que no requiere cambiar la
tmuxllamada es incluir lasttyllamada en el archivo$HOME/.zshenv. ZSH analiza este archivo y lo utiliza incluso para shells no interactivos.Los usuarios de BASH tienen que establecer la variable de entorno
BASH_ENV=$HOME/.zshenvpara que esto funcione.fuente
.zshrcy.zshenv. Pero ten cuidado con>eso. Uso:echo 'stty -ixon' >> ~/.zshenv