---
# System prepended metadata

title: 終端機介面筆記

---

# 終端機介面設定筆記
![image](https://hackmd.io/_uploads/HJ7HqfekA.png)
> 這是我的終端機介面，很讚吧！
## 前言
> 如果每天都需要盯著螢幕工作，何不花一點心思美化一下眼前所見呢？
> 
身為 macOS 開發者不能不知道 zsh，剛換蘋果筆電時偶然間看到其他工程師那又帥又潮的介面，好奇問了一下才知道 zsh 可以搞出這麼花俏的介面，因此自己也想來跟風設定一下，同時也記錄下來，以便未來換電腦時，可以快速調整成習慣的配置。

那麼本文會簡單介紹一下 `zsh`, `oh-my-zsh`, `powerlevel10k`，接著會以 macOS 的角度說明安裝設定流程。（有空再來補充 Ubuntu 的筆記

## 什麼是`zsh`, `oh-my-zsh`, `powerlevel10k`？
**Zsh (Z Shell)**
Zsh 和 Bash 都是 Unix Shell，而 Zsh 的誕生是為了提供更高效、靈活的 Shell，相對於傳統的Bash shell，Zsh 更現代化，擁有更多進階功能，例如自動補字的體驗更佳、提供更多自定義的選項、可以顯示更多有用的資訊（當前目錄、時間戳、Git 狀態）等等。

**Oh-My-Zsh**
Oh-My-Zsh 是一個管理 Zsh 配置的框架，擁有大量擴充套件和主題，使您可以輕鬆自定義 shell 環境，且簡化了安裝和管理 Zsh 插件和主題的流程，也因為他的誕生，讓 zsh 更加發揚光大了。

**Powerlevel10k**
Powerlevel10k 是其中一個 Zsh 的擴充套件，提供自定義介面的選項以及漂亮的 icon。

## 如何開始
* [iTerm2 安裝及常用設定](#iTerm2-安裝及常用設定)
* [安裝 zsh](#安裝-zsh)
* [安裝 oh-my-zsh](#安裝-oh-my-zsh)
* [zsh theme: powerlevel10k 安裝及基礎設定](#zsh-theme-powerlevel10k-安裝及基礎設定)

## iTerm2 安裝及常用設定
![image](https://hackmd.io/_uploads/HJhaJZb1C.png)
> 取自[ iTerm2 官網](https://iterm2.com/)的自我介紹：
> * iTerm2 is a replacement for Terminal and the successor to iTerm.
> * iTerm2 brings the terminal into the modern age with features you never knew you always wanted.

雖然 macOS 已經有內建的終端機 app ，但 iTerm2 是更好用的替代方案，非常建議使用它！

1. 透過 homebrew 安裝
`brew install iterm2`

2. 點擊選項設定（基本上是叫做 Perferences，不知為何我的顯示舊版名稱 Settings ）
![image](https://hackmd.io/_uploads/rk-wtZWyR.png)

3. 將 Character encoding 修改成 Unicode (UTF-8)，避免出現亂碼
![image](https://hackmd.io/_uploads/r1Gj0-W1R.png)

4. 將 Report Terminal Type 修改為 xterm-256color，顯示更多色彩效果
![image](https://hackmd.io/_uploads/B1QnAZZ10.png)

5. 修改顏色主題，這邊所有細項都能調整，字體顏色、反白顏色、反白顏色、對比度、透明度等等，我自己是比較懶，直接去抓別人的範本主題來套用。
![image](https://hackmd.io/_uploads/ByS6U-bJR.png)
> 套用範本主題待補充

6. 調整字型、字體大小
![image](https://hackmd.io/_uploads/rkPP1fWk0.png)

以上就是我自己會調整的設定，其餘的有興趣再慢慢摸索吧！

## 安裝 zsh
新推出的 macOS 現在都會內建 zsh 了，可以檢查一下是否已安裝，如果沒有就用 Homebrew 安裝。

1. 檢查 zsh 指令
`which zsh`
![image](https://hackmd.io/_uploads/rJSdWMZJA.png)
出現安裝路徑就表示已安裝過囉
> 補充說明：
> 系統預設的安裝路徑會在`/bin/zsh`，而 Homebrew 安裝的則會在`/usr/local/bin/zsh`

2. 安裝完輸入`chsh -s $(which zsh)`，把 zsh 設定為預設 shell，接著打開一個新視窗，以套用剛才的設定。


3. 如果是第一次使用 zsh 的電腦，會因為找不到 zsh 的設定檔（`~/.zshrc`）而進入 zsh 的設定介面，這邊就照著 recommended 設定走完流程就好，因為接著我們還需要更改它。

## 安裝 oh-my-zsh
![image](https://hackmd.io/_uploads/SkxvwcfW1C.png)
據說在沒有這個套件出現之前，zsh 一直不受歡迎，即便他功能豐富多樣，但因為太難設定，令大多數人為之卻步。
直到 oh-my-zsh 的出現，才將 zsh 發揚光大！

1. 安裝 oh-my-zsh 的指令（擇一即可）
```bash=
# via curl
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# via wget
$ sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
```

2. 如果上述指令沒有出現錯誤訊息就算成功了，根目錄下會出現新的資料夾`~/.oh-my-zsh`，Prompt 也套用了預設主題
![image](https://hackmd.io/_uploads/rJQT2f-JC.png)

## zsh theme: powerlevel10k 安裝及基礎設定
1. 安裝指令
```bash=
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
```
2. 跑完之後在這個目錄下`~/.oh-my-zsh/custom/themes/`會出現powerlevel10k
![image](https://hackmd.io/_uploads/BkPeymbkC.png)

3. 將 zsh theme 修改為 powerlevel10k
```bash=
$ vi ~/.zshrc

## 找到 ZSH_THEME 改成以下：
ZSH_THEME="powerlevel10k/powerlevel10k"
```

4. 打開新的視窗，會自動跳出 Powerlevel10k的設定引導畫面（如果沒有跳進引導畫面，輸入指令`p10k configure`即可），接下來的流程我就不一一截圖了，基本上就是有好幾個樣式讓你選擇（顯示當前時間、時間格式、頭尾邊框形狀、分隔符號、字元集、行距調整之類的），然後下一步。
![image](https://hackmd.io/_uploads/BkzcHE-1R.png)

> 補充說明：
> * 字元集的選擇需要特別注意，如果你想要能夠顯示花俏的 icon，一定要選擇`(1) Unicode`
> * 如果隨時想重新設定風格，換換口味的話只需要執行`p10k configure`即可
> * 若想知道目前支援什麼 shell，可以輸入此指令`cat /etc/shells`檢查


## 參考文件
[讓 macOS 的 Terminal 又潮又實用](https://www.onejar99.com/terminal-iterm2-zsh-powerlevel10k/#1-1)
[iTerm2 詳細設定操作教學](https://onejar99.com/iterm2-mac-terminal-usage/#more-922)
[iTerm2-color-Schemes](https://github.com/mbadolato/iTerm2-Color-Schemes/blob/master/README.md#extra)
[Powerlevel10k](https://blog.csdn.net/qq_40125655/article/details/110430779)
