如何修改 cygwin 的 PS1 以完成 git bash?



这是我目前的PS1:

$ echo $PS1
[e]0;wa]n[e[32m]u@h [e[33m]w[e[0m]n$

我已经安装了 git bash 完成,但它没有在我的命令提示符下显示当前分支。我认为这需要编辑,但我不知道要更改什么才能使其显示当前分支。请注意,我喜欢颜色和一般结构(即$在自己的行上),所以如果可能的话,我想保留它。

修改提示字符串并在某处添加$(__git_ps1 " (%s)")

例如,尝试在 Bash 中键入以下内容:

export PS1="[e]0;wa]n[e[32m]u@h [e[33m]w[e[0m]$(__git_ps1 ' (%s)')n$"

找到喜欢的内容后,将该行添加到 Bash 的启动文件之一,例如 $HOME/.bashrc .

git-prompt.sh的来源评论很好,如果您对其他选项感到好奇,值得浏览。

请注意,您可能需要手动source path/to/git-prompt.sh才能正常工作。如果是这样,请将此行也添加到配置文件中,位于 export PS1 位上方。

我的两分钱。 这是我多年来荒谬复杂的 Bash 提示,它也集成了git-prompt.sh. 我更聪明的朋友:)写了大部分!

export HOSTNAME_FQDN=$(hostname)
#export GIT_PS1_SHOWDIRTYSTATE=true
#export GIT_PS1_SHOWSTASHSTATE=true
#export GIT_PS1_SHOWUNTRACKEDFILES=true
#export GIT_PS1_SHOWUNTRACKEDFILES=true
#export GIT_PS1_SHOWUPSTREAM=verbose
#export GIT_PS1_DESCRIBE_STYLE=default
#export GIT_PS1_SHOWCOLORHINTS=true
source /usr/share/git-core/contrib/completion/git-prompt.sh
__set_prompt()
{
    local exit_code="$?"
    local git_ps1="$(__git_ps1 "%s")"
    # Update XTerm window title: "user@hostname: pwd"
    PS1="[e]0;u@$HOSTNAME_FQDN: wa]"
    # Visible prompt
    if [ ! -z "$HOST_DESC" ]
    then
        # Newline
        PS1+="n"
        # Bright cyan color (1=bright; 36=cyan)
        PS1+="[e[1;36m]"
        PS1+="$HOST_DESC"
    fi
    # Newline
    PS1+="n"
    if [ $exit_code != 0 ]
    then
        # Bright red color (1=bright; 31=red)
        PS1+="[e[1;31m]"
        # "[$?=x]"
        PS1+="[\$?=$exit_code] "
    fi
    # Bright green color (1=bright; 32=green)
    PS1+="[e[1;32m]"
    # "user@hostname"
    PS1+="u@$HOSTNAME_FQDN"
    if [ ! -z "$git_ps1" ]
        then
        # Newline
        #PS1+="n"
        # Purple color (0=not bright; 37=white)
        PS1+="[e[0;35m]"
        PS1+=" (Git: $git_ps1)"
    fi
    # Bright cyan color (1=bright; 36=cyan)
    PS1+="[e[1;36m]"
    # " date"
    # Example: " Fri 2013-11-08 22:20:36 HKT+08:00"
    PS1+=" [$(date '+%a %Y-%m-%d %H:%M:%S %Z%z')]"
    # Newline
    PS1+="n"
    # Yellow color (1=bright; 33=yellow)
    PS1+="[e[1;33m]"
    # pwd
    PS1+="w"
    # Reset color
    PS1+="[e[0m]"
    # Newline
    PS1+="n"
    # "$ "
    PS1+="$ "
}
export PROMPT_COMMAND=__set_prompt

示例(多行)提示:

username@hostname (Git: git-branch-name) [Fri 2021-09-03 16:06:00 CST+0800]
/current/path
$

相关内容

  • 没有找到相关文章

最新更新