Я написал эту красивую и красочную подсказку для моего терминала OS X:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ [\1]/'
}
export PS1="\e]2;\w\a\e[1;30;1m\][\u@\[\033[0;36m\]\h\e[1;30;1m\]:\[\033[0;35m\]\w\e[1;30;1m\]] \[\033[0;31m\](\t) \[\033[0;33m\]\$(parse_git_branch)\n\[\033[0m\]\e[1;30;1m\]\$\[\e[0m\]"
Я использую source ~/.bash_profile
и он работает нормально. кроме случаев, когда я использую стрелку вверх для навигации по истории, я получаю странные вещи.
в основном начало команды source ~/.bash_profile
в истории становится частью приглашения. когда я ctrl+c
или enter
он возвращается к нормальному состоянию, но как только я вижу историю source
команды, приглашение снова меняется.
Вот пример, где я видел историю, а затем ctrl+u
и набрал ls
:
[user@host:~/Documents] (14:01:40) [branch]
$source ~/.ls
Есть какие-нибудь подсказки по этому поводу?