如何在Windows中更改Git终端的标题?

时间:2017-09-27 23:47:19

标签: windows git bash git-bash titlebar

我在Windows 10中工作,通常我最多打开5个CMD窗口。我这样做是因为我需要使用不同的数据运行相同的应用程序,并且如果抛出任何异常则继续监视。

我更改窗口的标题(使用title命令)并使用数字而不是默认文本,以便轻松识别我正在使用的窗口,并能够使用它们识别和更改它们Alt+Taban example of how I work with my CMD windows

最近我开始使用Git,我真的很喜欢Windows的Git Bash终端。我想使用Git Bash终端,就像我使用CMD窗口一样,但我找不到任何方法来更改窗口标题。我搜索了一下,找到these instructions和其他一些(我不能粘贴,因为我不允许发布两个以上的链接),但它似乎只能通过设置不同的默认标题。我想随时将窗口标题更改为我选择的任何自定义文本。

这可能吗? Git Bash是否有像title这样的命令?

5 个答案:

答案 0 :(得分:5)

这个帖子已经有几个月了。但我认为另一种选择会有所帮助

您可以在用户个人资料文件夹

中将以下行添加到.bashrc文件中
export TITLEPREFIX="Git Bash"

你想要 Git bash 作为你的标题前缀。这是用户特定的更改。因此,如果多个用户使用自己的登录计算机,则每个人都可以自定义自己的标题。

答案 1 :(得分:4)

您使用this link

走在正确的轨道上

如果您稍微修改git-prompt.sh脚本(对我来说,这位于c:\Program Files (x86)\Git\etc\profile.d\git-prompt.sh),您可以将标题设为您想要的任何内容。

注意:您需要以管理员身份运行Notepad ++或类似程序才能回写此目录。

首先,保存git-prompt.sh的备份(当然,如git-prompt.backup.sh),然后修改git-prompt.sh的开头,如下所示:

[修改>修复了从test-n的第一个-z标记,以检查空的$ GITTITLEPREFIX变量而不是非空的变量添加缺失' fi']

if test -z "$GITTITLEPREFIX" # if not empty
then
    GITTITLEPREFIX="Git-Bash => " # prefix that will have current pwd appended after it
fi

if test -f ~/.config/git/git-prompt.sh
then
    . ~/.config/git/git-prompt.sh
else
    if test -n "$GITTITLE"
    then   ##### Set window title directly to GITTITLE if not empty
        PS1='\[\033]0;$GITTITLE\007\]' 
    else   ##### Set window title to GITTITLE PREFIX plus the PWD
        PS1='\[\033]0;$GITTITLEPREFIX${PWD//]^[:ascii:]]/?}\007\]' 
    fi
fi
###### Leave the rest of the file the same
    PS1="$PS1"'\n'
    PS1="$PS1"'\[\033[32m\]'
###### Etc.

首先检查GITTITLEPREFIX是否为空,如果不是,则将其设置为" Git-Bash => "类似于链接文章。这将在其后附加当前路径,因此如果您想要" 1:$ PWD",则将GITTITLEPREFIX设置为" 1:"像这样:

GITTITLEPREFIX="1 : "

否则,你可以将GITTITLE设置为任何非空值,然后整个标题将被设置为GITTITLE的内容(没有附加PWD),所以如果你只想要" 1",用这个:

GITTITLE="1"

然后运行脚本。凭借我的道路,我这样做了:

. "/c/Program Files (x86)/Git/etc/profile.d/git-prompt.sh"

标题应该改变。当然,您可以对此进行别名或在路径中的位置创建单独的脚本,因此运行它更简单,标题可能只是一个参数。我将此作为练习留给读者......

答案 2 :(得分:2)

一个简单的选项是echo -ne "\e]0;YOUR TITLE HERE\a"

答案 3 :(得分:1)

我解决了我的问题,对脚本进行了很少的修改。 第一个,为了传递我想要的窗口名称,我添加了变量name=$1并将其设置在标题变量中:

name=$1
PS1='\[\033]0;$name\007\]' # set window title

第二个,按照建议here,我评论了下一行:

#PS1="$PS1"'\[\033[35m\]'       # change to purple
#PS1="$PS1"'$MSYSTEM '          # show MSYSTEM

最终代码如下:

if test -f /etc/profile.d/git-sdk.sh
then
    TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
    TITLEPREFIX=$MSYSTEM
fi
name=$1
PS1='\[\033]0;$name\007\]' # set window title
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'\[\033[32m\]'       # change to green
PS1="$PS1"'\u@\h '             # user@host<space>
#PS1="$PS1"'\[\033[35m\]'       # change to purple
#PS1="$PS1"'$MSYSTEM '          # show MSYSTEM
PS1="$PS1"'\[\033[33m\]'       # change to brownish yellow
PS1="$PS1"'\w'                 # current working directory
if test -z "$WINELOADERNOEXEC"
then
    GIT_EXEC_PATH="$(git --exec-path 2>/dev/null)"
    COMPLETION_PATH="${GIT_EXEC_PATH%/libexec/git-core}"
    COMPLETION_PATH="${COMPLETION_PATH%/lib/git-core}"
    COMPLETION_PATH="$COMPLETION_PATH/share/git/completion"
    if test -f "$COMPLETION_PATH/git-prompt.sh"
    then
        . "$COMPLETION_PATH/git-completion.bash"
        . "$COMPLETION_PATH/git-prompt.sh"
        PS1="$PS1"'\[\033[36m\]'  # change color to cyan
        PS1="$PS1"'`__git_ps1`'   # bash function
    fi
fi
PS1="$PS1"'\[\033[0m\]'        # change color
PS1="$PS1"'\n'                 # new line
PS1="$PS1"'$ '                 # prompt: always $
MSYS2_PS1="$PS1"               # for detection by MSYS2 SDK's bash.basrc

暂时我制作了一个脚本副本并将其粘贴在C:上,根据我的路径,每次我需要更改标题时都可以轻松执行,如下所示: $ . /c/changename.sh

我还在学习脚本,所以我可以设置别名。正如@LightCC所说,“我会将其作为读者的练习......”

答案 4 :(得分:1)

在 JSON 设置中写入 Git 控制台:

"name": "Git Bash",
"tabTitle": "Git Bash",
"suppressApplicationTitle": true