personajes extraños en modo shell con zsh

Pregunta:

Recientemente cambié a zsh (con oh-my-zsh ) como mi shell principal, pero ejecutar el shell desde emacs da como resultado algunos caracteres "residuales" extraños (a falta de una palabra mejor); sin embargo, cambiar a bash elimina estos caracteres:

➜  ~  ^[[?2004h bash
 bash^[[?2004l
coffee@Lappy:~$

¿Hay alguna forma de seguir usando zsh en emacs sin que parezca basura absoluta?

Respuesta:

Las secuencias de control ^[[?2004h y ^[[?2004l activan y desactivan el modo de pegado entre corchetes .

El modo Shell no admite el modo de pegado entre corchetes (con estas u otras secuencias de control), por lo que zsh no debería intentar activarlo. El modo Shell anuncia correctamente que no admite estas secuencias de control al declarar TERM=dumb . Parece que zsh asume ciegamente que el terminal admite o ignora estas dos secuencias de control. Eso es un error en zsh, que puedo reproducir con zsh desde git.

Como solución alternativa, desactive el modo de pegado entre corchetes en su .zshrc si el terminal no admite secuencias de escape.

if [[ $TERM = dumb ]]; then
  unset zle_bracketed_paste
fi

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım