通過這篇文章,可以了解到:
- 為什么要使用 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官網
知乎 - Cygwin 和 MinGW 的區別
Git-Bash 配置文件 mintty-colors-solarized
solarized
Powerline fonts