住在裡面的地方,值得佈置

今天把同一套 prompt 鋪到兩台 VPS,一台要先裝 zsh,另一台只需要 git clone oh-my-zsh。事情不難,但操作完坐在那邊看到兩台機器跑出同一個 prompt,有點好笑又有點踏實。

每天要住在裡面的地方,值得佈置。

好看不只是好看

agnoster 讓 prompt 帶了幾樣東西:

  • 當前 git 分支——不用跑 git branch,看 prompt 就知道在哪
  • working tree 狀態——有未 commit 的改動,prompt 顏色變化,commit 完恢復乾淨
  • 縮短路徑——複雜的絕對路徑自動折疊,不佔整行

這些不是裝飾,是資訊密度。在同時跑多台機器的時候,看到一樣的 prompt 還有另一個好處:降低 context switch 的摩擦。切到新機器,腦袋不用多花一秒適應。

一個關於字型的常見誤解

agnoster 的箭頭、符號( 等)是 Powerline 字型,渲染在 terminal client,不是在 shell

所以:

  • Mac 的 iTerm2、Ghostty、Terminal.app——在這裡裝字型
  • 透過 SSH 進去的 VPS——不需要在 server 上裝字型,server 只負責輸出字符,視覺渲染在你這端
  • 如果在 VPS 上看到亂碼方塊,問題在本機 terminal 的字型設定,不在 server

核心設定

以下是精簡版 .zshrc(私有路徑、工具別名等拿掉,保留架構部分):

export ZSH="$HOME/.oh-my-zsh"

ZSH_THEME="agnoster"

# 設了 DEFAULT_USER,在自己帳號下 prompt 不顯示 user@host
DEFAULT_USER="$USER"

plugins=(git)

source $ZSH/oh-my-zsh.sh

# ─── 個人擴充 ────────────────────────────────────────
export PATH="/opt/homebrew/bin:$PATH"
export PATH="$HOME/.local/bin:$PATH"

# 常用目錄別名(路徑換成自己的)
alias project='cd $HOME/path/to/project'

# 一鍵開發環境
alias dev='tmux new-session -As dev -c $HOME/path/to/project "pnpm dev"'

plugins=(git) 載入後,gstgit status)、gcogit checkout)、gcmgit commit -m)等縮寫直接可用。

沒有 root 的 VPS

chsh 需要 root 才能改預設 shell。沒有 root 時,在 .bashrc 最尾端加:

exec zsh -l

登入時 bash 啟動,最後這行跳進 zsh。效果跟改預設 shell 一樣,不需要 root。


Powerline 字型選一個裝上去,ZSH_THEMEagnoster,其餘的 oh-my-zsh 幫你做完。

相關 Points