La finalización de tabulación en zsh genera caracteres duplicados

La finalización de tabulación en zsh genera caracteres duplicados

cuando se usa la finalización de tabulación en zsh, usando ohmyzsh, en una instalación de arch relativamente nueva, los dos primeros caracteres se duplicarán y no se podrán eliminar.

Por ejemplo, escribo yay -S terminatoy luego presiono el tabulador para completar automáticamente el terminador, ¿verdad? Funciona bien y puedo pasar por los resultados como de costumbre, pero el comienzo de la línea, en lugar de ser, yay -S term...esyayay -S term...

Cuando presioné la tecla de retroceso para corregir el error, descubrí que no podía eliminar más allá de yay, dejándome con un mensaje yaal principio que no podía eliminar.

Esto es solo para una sola línea y en realidad no afecta nada, el comando aún se ejecutará correctamente, incluso con los dos caracteres que no pertenecen.

Probé con otros emuladores, pero el problema persiste, incluso en un tty base.

Al presionar Enter o Ctrl C para pasar a la siguiente línea, se restablece esa nueva línea, pero la línea anterior permanece con sus caracteres colgantes.

Para ser claros, esto sucede con todos los comandos con tabulación, no solo con Yay.

Respuesta1

Esto significa que se ha impreso algún tipo de error, pero luego la línea de comando se volvió a pintar encima del error, aunque en el lugar ligeramente equivocado, debido a los caracteres impresos en el mensaje de error.

La razón por la que no puedes eliminar el primero yaes porque es parte de la antigua línea de comando que se imprimió. En realidad, no forma parte de su nueva línea de comando, por lo que no puede editarla. En otras palabras, hay caracteres impresos en su terminal que no se pudieron borrar y su shell no sabe nada sobre ellos.

Para llegar al fondo de este error, haga

set -vx

luego intente realizar la misma finalización nuevamente y vea si puede detectar algún mensaje de error en algún lugar de la salida.

Respuesta2

Yo tuve el mismo problema. De hecho, estaba relacionado con la configuración local como se mencionó anteriormente.

Lo he solucionado regenerando la localización.

sudo echo en_US.UTF-8 UTF-8 > /etc/locale.gen
sudo locale-gen

Después de reiniciar comenzó a funcionar normalmente.

Respuesta3

Tuve un problema similar que se manifestó de manera similar. Rastreé el problema hasta el valor de LC_ALL. Dejé de exportar LC_ALL(y amigos) Cy exporté LANG=en_US.UTF-8y el problema desapareció.

Dividí el problema en dos hasta Zsh, en tmux, enun tema particular de oh-my-zsh. ( robbeyrussellCreo que fue el primer creador de oh-my-zsh, por lo que las rutas de navegación ahora conducen a la organización "oficial" de GitHub)

Ver también:

información relacionada