Window平台Git-Bash的主题配置

通过这篇文章,可以了解到:

  • 为什么要使用 Git-Bash,以及 Git-Bash 的优点
  • Git-Bash 的外观主题配置

Git-Bash 的优点

在开发的过程中,我们可能需要使用大量的命令行工具,或者远程连接到服务器进行操作。然而,由于 Window 自带的 CMD 和 PowerShell 都不太好用,而且在 Window 下的命令又与 Linux 和 MacOS 的命令不太一样,如果需要经常跨平台操作,学习 Window 的命令行命令无疑是增加了学习成本,因此就有了需要一个能做到通用命令的工具。
在 Window 下使用类似 Linux 命令的工具有很多,例如 WIndow10 上提供的 WSL(WIndow Sub Linux),CygWin 以及 Git-Bash。

WSL

The Windows Subsystem for Linux lets developers run Linux environments -- including most command-line tools, utilities, and applications -- directly on Windows, unmodified, without the overhead of a virtual machine.

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

CygWin

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

Git-Bash

我们这篇文章介绍的 Git-Bash,是 Git 官网 上提供的一个 Git 开发工具包里的一个命令行组件。
Git-Bash 源自 MinGW,是一个用于开发原生 Window 应用的开发环境,提供了针对 WIn32 应用的 GCC、GNU binutils 等工具。

我们可以根据自己的需求,进行选择,这里我选择 Git-Bash 的原因,是我的开发需求主要为 Python 的开发,Window 系统上主要的应用主要的 git 工具以及使用 SSH 连接服务器,因此选择 Git-Bash 较为方便、简单。

Git-Bash 的主题配置

Git-Bash 原生的主题,其实也并不难看,更换 Git-Bash 的需求主要在于,我的 Ubuntu 服务器端配置了 oh-my-zsh。因此如果使用 Git-Bash 的默认主题进行 SSH 连接,会因为字体问题而无法正常显示,还有就是 Git-Bash 原生的主题配色和 MacOS 下 iTerm Solarized 主题配色差距甚大。因此,一是视觉上不同一,看上去不习惯,而是本着手贱的探索精神,总希望做点特别的挑战,就有了去修改 Git-Bash 主题的需求。
修改 Git-Bash 主题主要有两个困难,一是 Git-Bash 自带的 Options 下 Text 设置有缺陷,只有有限的字体可选,一些系统上已经安装了的字体,这里并没有得选择。而要使用 Git-Bash SSH 连接使用了 agnoster 主题的 ZSH,需要一种含特殊字符的字体 Powerline,没有了这种字体,就会出现乱码。

Git-Bash 字体解决方案

首先,先从 GitHub 下载相应的 Powerline 字体,并且安装好字体。
然后,安装好字体。
然后找到 Git-Bash 的配置文件 .minttyrc ,这个配置文件一般位于 C:\Users\<YourUserName>之下。然后修改配置文件内容如下:

Font=Meslo LG M for Powerline # 这里我选的事 Meslo LG M 这个字体,可以根据自己的喜好选择自己喜欢的 Powerline 字体
FontHeight=12

随后重启 Git-Bash 即可以运用新的字体。

Git-Bash 配色主题设置

在 MacOS 上的 iTerm 可以用 SOLARIZED 的配置文件来设置,但是官网并没有提供 MinGW 的配置。
后来,我在 GitHub 上找到 MinGW 的 SOLARIZED 配置,[mintty-colors-solarized]
配置方法很简单,同样的打开 .minttyrc 配置文件,然后把以下内容添加到配置文件里面

ForegroundColour=131,148,150
BackgroundColour=0,43,54
CursorColour=220,50,47

Black=7,54,66
BoldBlack=0,43,54
Red=220,50,47
BoldRed=203,75,22
Green=133,153,0
BoldGreen=88,110,117
Yellow=181,137,0
BoldYellow=101,123,131
Blue=38,139,210
BoldBlue=131,148,150
Magenta=211,54,130
BoldMagenta=108,113,196
Cyan=42,161,152
BoldCyan=147,161,161
White=238,232,213
BoldWhite=253,246,227

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


git-bash Local.png

参考资料

Git官网
知乎 - Cygwin 和 MinGW 的区别
Git-Bash 配置文件 mintty-colors-solarized
solarized
Powerline fonts

推荐阅读更多精彩内容