Quando o prompt contém caracteres não imprimíveis, eles devem estar entre \[…\]
. Caso contrário, o bash conta esses caracteres como parte da largura do prompt.
As configurações de prompt não apresentam várias instâncias de \[…\]
. Aqui estão os que eu encontrei depois de um olhar superficial:
function fastprompt()
{
unset PROMPT_COMMAND
case $TERM in
*term | rxvt )
PS1="\[${HILIT}\][\h]\[$NC\] \W > \[3]0;\${TERM} [\u@\h] \wfunction fastprompt()
{
unset PROMPT_COMMAND
case $TERM in
*term | rxvt )
PS1="\[${HILIT}\][\h]\[$NC\] \W > \[3]0;\${TERM} [\u@\h] \w%pre%7\]" ;;
linux )
PS1="\[${HILIT}\][\h]\[$NC\] \W > " ;;
*)
PS1="[\h] \W > " ;;
esac
}
function powerprompt()
{
PROMPT_COMMAND=_powerprompt
case $TERM in
*term | rxvt )
PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > \
\[3]0;\${TERM} [\u@\h] \w%pre%7\]" ;;
linux )
PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > " ;;
* )
PS1="[\A - \$LOAD]\n[\u@\h \#] \W > " ;;
esac
}
7\]" ;;
linux )
PS1="\[${HILIT}\][\h]\[$NC\] \W > " ;;
*)
PS1="[\h] \W > " ;;
esac
}
function powerprompt()
{
PROMPT_COMMAND=_powerprompt
case $TERM in
*term | rxvt )
PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > \
\[3]0;\${TERM} [\u@\h] \w%pre%7\]" ;;
linux )
PS1="\[${HILIT}\][\A - \$LOAD]\[$NC\]\n[\u@\h \#] \W > " ;;
* )
PS1="[\A - \$LOAD]\n[\u@\h \#] \W > " ;;
esac
}