La adición de secuencias de escape de color ANSI a un mensaje de bash da como resultado una mala posición del cursor al recuperar / editar comandos

Si configuro mi línea de comando como:

export PS1='\033[0;33m[\u@\h \w]\$ \033[00m'

El color del indicador será amarillo y todo después del carácter "$1$quot; será el color predeterminado del terminal. Esto es lo que espero. Sin embargo, si recuerdo una línea de comando e intento editarla, mueva el cursor, ya sea UpArrow / Ctrl-A (set -o emacs) o ESC K (set -o vi) si la línea de comando que estoy tratando de editar es lo suficientemente largo, el cursor no está posicionado al comienzo del comando. Escribir Ctrl-A (establecer -o emacs) o ^ (configurar -o vi) no moverá el cursor a lo que veo como el comienzo de la línea recordada en la pantalla. De manera similar, al intentar colocar el cursor al final de la línea (Ctrl-E o $, dependiendo de), se colocan varios caracteres más allá de lo que parece ser el final de la línea. Parece que bash se está confundiendo con los caracteres de escape que he agregado al indicador. ¿Es esto algo con lo que tendré que lidiar, cambiar mi indicador a uno monocromático cuando deseo editar las líneas recordadas, o hay una manera de que bash permita la edición correcta de los comandos recuperados con un indicador colorido?

Respuestas a la pregunta(1)

Su respuesta a la pregunta