Contents

好看的bash工具 -zsh

zsh(Z Shell)是一個功能強大的命令列 Shell,比 bash 提供更多的自訂性、更好的自動補全和更豐富的主題外觀。在 Windows 上使用 zsh 現在有多種方式,從早期的 Babun 到現在更推薦的 WSL(Windows Subsystem for Linux)。

Windows 上使用 zsh 的方式

方式一:WSL(現代推薦)

WSL(Windows Subsystem for Linux)是 Windows 10/11 內建的 Linux 子系統,是目前最推薦的方式:

1
2
3
4
5
# 安裝 WSL(在 PowerShell 以系統管理員執行)
wsl --install

# 安裝 Ubuntu
wsl --install -d Ubuntu

進入 WSL 後安裝 zsh:

1
2
sudo apt-get install zsh
chsh -s $(which zsh)

搭配 Windows Terminal 使用體驗更佳。

方式二:Babun(舊方法,已停止維護)

Babun 是一個 Windows 的 cygwin 套裝環境,內建 zsh 和 Oh My Zsh。雖然安裝方便,但 Babun 專案已停止維護,不建議在新專案中使用。

1
2
3
# 安裝 Babun 後,設定主題
vim ~/.zshrc
# 修改 ZSH_THEME="agnoster"

安裝 Oh My Zsh

Oh My Zsh 是最流行的 zsh 設定框架,提供大量主題和插件:

1
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

設定 agnoster 主題

agnoster 是最受歡迎的 zsh 主題之一,顯示 Git 狀態、當前目錄等資訊:

1
2
3
4
5
6
7
8
# 編輯 zsh 設定
vim ~/.zshrc

# 修改主題設定
ZSH_THEME="agnoster"

# 重新載入設定
source ~/.zshrc

解決亂碼問題:安裝 Powerline 字型

agnoster 主題使用 Powerline 特殊字符(箭頭、Git 圖示等),需要安裝支援的字型才能正確顯示。

安裝 Hack 字型(推薦)

1
2
# Windows 上下載 Hack 字型
# 從 https://sourcefoundry.org/hack/ 下載並安裝

安裝 Powerline Fonts

1
2
3
4
5
# 在 Linux/WSL 中
git clone https://github.com/powerline/fonts.git --depth=1
cd fonts
./install.sh
cd .. && rm -rf fonts

Windows 可直接下載 .ttf 檔安裝:

在終端機中套用字型

PuTTY/PieTTY:Window → Appearance → Change → 選擇「Hack」或「DejaVu Sans Mono for Powerline」

Windows Terminal:在設定 JSON 中加入:

1
2
3
4
{
    "fontFace": "Hack",
    "fontSize": 12
}

推薦的 zsh 主題

主題 特色 需要 Powerline 字型
agnoster 顯示 Git 狀態、美觀箭頭
powerlevel10k 高度可自訂,速度快
spaceship 支援多種語言版本顯示
pure 簡潔,非同步 Git 查詢
robbyrussell Oh My Zsh 預設,簡單

安裝 powerlevel10k(現代推薦主題)

1
2
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
    ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

~/.zshrc 中設定:

1
ZSH_THEME="powerlevel10k/powerlevel10k"

重新啟動終端機後,powerlevel10k 會引導你完成互動式設定。

常用 Oh My Zsh 插件

1
2
3
4
5
6
7
# 在 ~/.zshrc 中啟用插件
plugins=(
    git              # git 指令的別名和補全
    zsh-autosuggestions  # 根據歷史記錄提示指令
    zsh-syntax-highlighting  # 指令語法高亮
    z                # 快速跳轉到常用目錄
)

安裝第三方插件:

1
2
3
4
5
git clone https://github.com/zsh-users/zsh-autosuggestions \
    ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-syntax-highlighting \
    ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting