Quando tento colorir o bash
prompt assim:
export PS1="\e[0;31m[\u@\h \W]\$ \e[m "
interrompe o retorno de carro (em vez de ir para uma nova linha quando a linha estiver cheia, inicia na mesma linha e apaga o texto de entrada).
Se eu remover a sequência de cores, ela funcionará bem.
Eu uso o Ubuntu 11.10 e o terminal (o guake também tem o mesmo bug).
Respostas:
Você deve agrupar todas as seqüências de escape entre
\[
e\]
para que 'readline' calcule corretamente o comprimento visível do prompt. Sem eles, o 'readline' acha que o prompt é mais longo do que é e não sabe quando o texto atinge a margem.fonte
\[
,\]
? Acho que sim, mas não parece estar funcionando para mim.skip-csi-sequence
destina-se a suprimir seqüências de entrada geradas por chaves especiais.\e[xxm
sequência, não a sequência inteira.\e[39m
com\[\e[;39m\]
e funciona bema dica [and] também funcionou no bash no OS X 10.8.2.
Eu uso:
o que me mostra meu ramo git atual em uso.
fonte