Cuando intento colorear el bash
de 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 ingresado).
Si elimino la secuencia de colores funciona bien.
Uso Ubuntu 11.10 y el terminal (guake también tiene el mismo error).
Respuestas:
Debes envolver todas las secuencias de escape entre
\[
y\]
para que 'readline' calcule correctamente la longitud visible del mensaje. Sin ellos, 'readline' piensa que el indicador es más largo de lo que es, y no sabe cuándo el texto alcanza el margen.fuente
\[
,\]
? Supongo que sí, pero no parece estar funcionando para mí.skip-csi-sequence
está destinado a suprimir entrada Secuencias generadas por teclas especiales.\e[xxm
secuencia, no toda la cadena.\e[39m
con\[\e[;39m\]
y funciona bienLa sugerencia [y] también funcionó en bash en OS X 10.8.2.
Yo suelo:
que me muestra mi actual rama de git en uso.
fuente