PS1变量展示优化

@lucas  April 23, 2023

修改PS1变量,可以模仿zsh的展示效果。
设置常用的git命令别名

alias gpo="git push origin HEAD:refs/for/\$(git symbolic-ref --short -q HEAD)"
alias gcma="git commit --amend"
alias gcmm="git commit -m"
alias gaa="git add ."
git_branch=''
git_branch_prefix=''
function find_git_branch {
     local dir=. head

     until [ "$dir" -ef / ]; do
         if [ -f "$dir/.git/HEAD" ]; then
             head=$(< "$dir/.git/HEAD")
             if [[ $head == ref:\ refs/heads/* ]]; then
                 git_branch_prefix="git:"
                 git_branch="(${head#*/*/})"
             elif [[ $head != '' ]]; then
                 git_branch='(detached)'
             else
                 git_branch='(unknown)'
             fi
             export git_branch
             return
         fi
         dir="../$dir"
     done
     git_branch_prefix=''
     git_branch=''
}
PROMPT_COMMAND="find_git_branch; $PROMPT_COMMAND"
green=$'\[\e[1;32m\]'
na=$'\[\e[1;31m\]'
blue=$'\[\e[1;34m\]'
magenta=$'\[\e[1;35m\]'
normal_colours=$'\[\e[0m\]'
PS1="$na➜  $green\W $blue\$git_branch_prefix$magenta\$git_branch$normal_colours\$ "

添加新评论