Pregunta:
Cuando trato de colorear el indicador de bash
esta manera:
export PS1="\e[0;31m[\u@\h \W]\$ \e[m "
rompe el retorno de carro (en lugar de ir a una nueva línea cuando la línea está llena, comienza en la misma línea y borra el texto de entrada).
Si elimino la secuencia de colores, funciona bien.
Yo uso Ubuntu 11.10 y terminal (guake también tiene el mismo error).
Respuesta:
Debe ajustar todas las secuencias de escape entre \[
y \]
para que 'readline' calcule correctamente la longitud visible del mensaje. Sin ellos, 'readline' piensa que el mensaje es más largo de lo que es y no sabe cuándo el texto llega al margen.
PS1="\[\e[;31m\][\u@\h \W]\$ \[\e[m\]"