在开发的过程中,我们可能需要使用大量的命令行工具,或者远程连接到服务器进程操作。然而,由于 Windows 自带的 CMD 和 PowerShell 都不太好用,而且在 Windows 下的命令又与 Linux 中的不太一样,而我们大部分使用的都是 Linux 服务器,所以就需要一个这样的命令行工具。

终端选择

在 Windows 下使用类似 Linux 命令的工具有很多,例如 Win10 上提供的 WSL(Windows Sub Linux),CygWin 以及 Git Bash。

WSL

WSL是微软提供的一套可以运行 Linux 环境而又不用加载虚拟机的子系统。使用WSL可以像使用 Ubuntu 一样的操作,而且还能访问 WIndow 上的文件系统。

CygWin

CygWin 是运行在 Window 平台的类 Unix 环境,CygWIn 通过将部分 Posix 条用转换成 Window 的 API 调用,从而实现相关功能。

Git Bash

Git Bash 是安装 Git 时附带的一个命令行组件,它源于 MinGW,一个用于开发原生 Windows 应用的开发环境,提供了针对 WIn32 应用的 GCC、GNU binutils 等工具。

我们可以根据自己的需求进行选择,这里选择 Git Bash 的原因是 Git 通常作为开发是必备安装的,所以 Git Bash 也是自动就安装上了,随手可得,而且它支持很多的类 Linux 命令,支持 Linux 文件系统,可操作性好。

但它也有一些缺点,比如太丑了、不能开多标签、缺乏某些重要的命令。只要解决这些问题,那么它就是我心目中的完美终端。

从设置快捷键开始

为了能够快速打开 Git Bash,我建议下给它设置一个全局快捷键。

按 Win 键,然后搜索 Git Bash,点击「打开文件所在位置」

右键快捷方式,点击「属性」,然后在这里设置一个快捷键,同时点击「高级」,把「以管理员身份运行」勾上,后面会在终端上改文件,勾选它可以避免很多麻烦。

修改冗长的命令提示符

默认的 Git Bash 长这样,自带的一些主题配色倒还能接受,但是这个命令提示符前的那一长串也太碍眼了,先来简化这个命令提示符吧。

打开 git-prompt.sh 文件:

$ vim /etc/profile.d/git-prompt.sh

将其修改为如下内容:

if test -f /etc/profile.d/git-sdk.sh
then
    TITLEPREFIX=SDK-${MSYSTEM#MINGW}
else
    TITLEPREFIX=$MSYSTEM
fi

if test -f ~/.config/git/git-prompt.sh
then
    . ~/.config/git/git-prompt.sh
else
    PS1='\[\033]0;Bash\007\]'      # 窗口标题
    PS1="$PS1"'\n'                 # 换行
    PS1="$PS1"'\[\033[32;1m\]'     # 高亮绿色
    PS1="$PS1"'➜  '               # unicode 字符,右箭头
    PS1="$PS1"'\[\033[33;1m\]'     # 高亮黄色
    PS1="$PS1"'\W'                 # 当前目录
    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[31m\]'   # 红色
            PS1="$PS1"'`__git_ps1`'    # git 插件
        fi
    fi
    PS1="$PS1"'\[\033[36m\] '      # 青色
fi

MSYS2_PS1="$PS1"

效果如下:

命令提示符被修改成了,右箭头 + 当前目录,这个非常像 oh-my-zsh 的默认主题,文字的颜色也改成了青色,窗口的标题也被简化了。

改的地方不多,就几行,都有注释,如果想自行修改可以参考这篇文章,写的很详细。

Git Bash 主题配置

颜色主题

Git Bash 自带的那一套主题我不太喜欢,所以自己改了一套,配置方法很简单,打开 .minttyrc 配置文件:

$ vim ~/.minttyrc

然后把以下内容添加到配置文件里面:

Font=Fira Code Medium
FontHeight=14
FontHeight=14
Transparency=low
FontSmoothing=default
Locale=C
Charset=UTF-8
Columns=88
Rows=26
OpaqueWhenFocused=no
Scrollbar=none
Language=zh_CN

ForegroundColour=131,148,150
BackgroundColour=0,43,54
CursorColour=220,130,71

BoldBlack=128,128,128
Red=255,64,40
BoldRed=255,128,64
Green=64,200,64
BoldGreen=64,255,64
Yellow=190,190,0
BoldYellow=255,255,64
Blue=0,128,255
BoldBlue=128,160,255
Magenta=211,54,130
BoldMagenta=255,128,255
Cyan=64,190,190
BoldCyan=128,255,255
White=200,200,200
BoldWhite=255,255,255

BellTaskbar=no
Term=xterm
FontWeight=400
FontIsBold=no

然后重启 Git-Bash,即可看到新的主题配色,以下是我的 Git-Bash 外观主题配置样例。

第一行是在 Options 中选择字体时设置的,我使用了 Fira Code, 14号字体。

参考资料

发表评论

电子邮件地址不会被公开。 必填项已用*标注