Aqui está o meu prompt do bash; Estou usando Sequências de escape ANSI
reset="3[0m";
blue="3[38;5;20m";
cyan="3[38;5;38m";
green="3[38;5;35m";
yellow="3[38;5;227m";
white="3[38;5;250m";
# Set the terminal title to the current working directory.
PS1="\[3]0;\wreset="3[0m";
blue="3[38;5;20m";
cyan="3[38;5;38m";
green="3[38;5;35m";
yellow="3[38;5;227m";
white="3[38;5;250m";
# Set the terminal title to the current working directory.
PS1="\[3]0;\w%pre%7\]";
PS1+="\[${yellow}\]\u"; # username
PS1+="\[${white}\]@";
PS1+="\[${green}\]\h"; # host
PS1+="\[${white}\]:";
PS1+="\[${cyan}\]\W"; # working directory
PS1+="\$(prompt_git \"${blue}\")"; # Git repository details
PS1+="\[${white}\]\$ \[${reset}\]"; # '$' (and reset color)
export PS1;
7\]";
PS1+="\[${yellow}\]\u"; # username
PS1+="\[${white}\]@";
PS1+="\[${green}\]\h"; # host
PS1+="\[${white}\]:";
PS1+="\[${cyan}\]\W"; # working directory
PS1+="\$(prompt_git \"${blue}\")"; # Git repository details
PS1+="\[${white}\]\$ \[${reset}\]"; # '$' (and reset color)
export PS1;
Parece fantástico, mas às vezes o terminal parece ter problemas ao calcular o tamanho do prompt. Isso acontece tanto localmente no OSX, e quando SSHing em um servidor Ubuntu (no OSX e no Windows através do PuTTY)
Por exemplo, isso acontece. Eu digitei primeiro "git add [filename]" com a conclusão da tabulação, então eu pressionei a tecla "Home" para voltar para a frente da linha e substituir "git add" por "vi". Como você pode ver, está muito confuso.
Alémdisso,seeuclicarem"End" para chegar ao fim da linha, será preciso passar pelo ".php" com vários espaços em branco.
Isso acontece tanto ao editar uma nova linha quanto ao editar uma linha no meu histórico (usando a seta para cima. Ela é exibida corretamente, mas assim que eu usar as teclas de seta ou Início / Fim, ela estraga)
Pressione Ctrl + L para limpar e não corrigir, basicamente tenho que começar de novo e redigitar a linha inteira para evitar problemas.