Prompt customizado quebrado durante o histórico e control-a no Terminal.app do OS X usando Bash

7

Eu personalizei meu prompt em .bash_profile para ficar assim:

export PS1="\w \e[0;32m\$(vcprompt -f '[%n:%b]')\e[m\$ "

Agora, quando eu pressiono a seta para cima para voltar ao histórico, encontro o que eu quero e, em seguida, pressiono o controle-a para ir ao início da linha, ele geralmente me interrompe no 5º caractere em vez de ir até o fim para o início. Esses primeiros caracteres são então "congelados" no lugar. Se eu subir ou descer a partir daí, é como se esses personagens fossem o novo $.

Eu pressiono o retorno e volto ao normal, mas é muito irritante ter esses personagens presos lá! Eu estraguei alguma coisa na customização? Obrigada!

    
por Jed 19.09.2011 / 22:26

1 resposta

9

Você precisa marcar as seções não imprimíveis do prompt com \[ ... \] para que o bash possa dizer que não ocupará espaço na tela. Experimente:

export PS1="\w \[\e[0;32m\]\$(vcprompt -f '[%n:%b]')\[\e[m\]\$ "
    
por 20.09.2011 / 01:23