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\]\$ "
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!
Tags bash prompt macos command-history