0%

Git Bash 美化

Git Bash 美化

终端美化的方案有很多、首推ob my zsh,但其在windows平台配置较为复杂,如果不太想折腾,仅仅就Git Bash做一个简单的美化和实用化、可以看这篇文章。

基础效果

gitbashconfig-1

最终效果

gitbashconfig-2

这里删除了基本无变化且个人并不关心的用户、主机、和系统信息,显示了当前时间并对分支样式做了修改。

配置修改

Git 基础路径

windows平台下默认的Git路径为basePathC:\Program Files\Git

修改基础配置

配置文件路径basePath\etc\profile.d\git-prompt.sh

核心配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
PS1='\[\033]0;$TITLEPREFIX:$PWD\007\]' # set window title
PS1="$PS1"'\n' # new line
PS1="$PS1"'\[\033[32m\]' # change to green
# user@host<space>
PS1="$PS1"'\u@\h '
# change to purple
PS1="$PS1"'\[\033[35m\]'
# show MSYSTEM
PS1="$PS1"'$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
# new line
PS1="$PS1"'\n'
PS1="$PS1"'$ ' # prompt: always $

删除user@host<space>change to purpleshow MSYSTEMnew line对应的代码增加显示时间戳代码。

1
2
3
4
5
# time
PS1="$PS1"'\D{%Y-%m-%d %H:%M:%S} '

# 增加了一个箭头符号
PS1="$PS1"' >`__git_ps1` ' # bash function

修改__git_ps1

配置文件路径basePath\mingw64\share\git\completion\git-prompt.sh

检索local printf_format=' (%s)'替换为local printf_format=' %s