介紹
終端機?
簡單來說,它讓我們透過指令,命令電腦做事,早期電腦沒有介面,只能用指令命令電腦;現在在設定系統、安裝套件、自動化程式、Git 等,也可能用到,這些可以輸入指令的介面統稱終端機。
舉幾個例子:
| 介面操作 | 終端機 |
|---|---|
選一個在桌面、名為 a 的檔案,右鍵刪除。 |
rm ~/Desktop/a |
開啟檔案管理,到桌面的目錄,點搜尋框,輸入 a。 |
find ~/Desktop -name "*a*" |
終端機有 Windows 的命令提示字元,Mac 的 Terminal 等。
終端機語言,有 bash、zsh、PowerShell 等,本文提到的 Oh My Zsh 可說是 zsh 的擴充功能。
為什麼推薦您?
我原本的終端機是這個樣子:
現在,我們可以讓它更好,更方便、更養眼。
圖片來源:https://github.com/romkatv/powerlevel10k
- 想要有美美的終端機嗎?
- 什麼!?終端機還可以裝插件、裝主題?
- 指令自動填入!無論是你常用的、套件可輸入的,在你 tab 一下後,都幫你找出來!
如果以上你有一點點心動,趕快來看我們教學吧!
我在 macOS 安裝成功,其他系統還望大神指點一二!
很簡單的一條安裝指令
打開終端機,輸入:
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
這是官網推薦的安裝方式,要先有 curl 或 wget 喔!
好的,你安裝完了。
使用主題
但是只出現一個很一般的終端機畫面,和說好的不一樣?
所以我們來美化它吧!我比較喜歡 powerlevel10k 主題,就以它為例子教大家怎麼改主題喔~
step1:安裝字體
先安裝 powerlevel10k 指定的字體吧!其他主題不一定需要呢☺️。
都下載下來,點兩下安裝。
step2:設定終端機
把你的終端機設定一下!
內建終端機
上面 工具列 -> 終端機 -> 偏好設定 -> 描述檔。
左下有個 + 按鈕,可新增描述檔或用原本的其中一個,把你要用的描述檔設成預設值。
然後,內容你可以自己設定顏色,字體一定要用剛剛下載的 MesloLGS NF 才能免除顯示錯誤。
你也可以跟我設定一樣的顏色(非必須),下載描述檔並輸入(輸入在預設值旁邊)。
或用滴管直接吸取以下圖片色塊,包含背景、文字、ANSI 顏色喔:
VSCode
設定 -> 搜尋 terminal.integrated.fontFamily -> 改成 MesloLGS NF。
像這樣就可以囉:
step3:安裝 powerlevel10k
正式來安裝 powerlevel10k 囉~
終端機輸入指令:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
我們要改變 ~/.zshrc 的 ZSH_THEME。
step4:加入 ~/.zshrc
首先,用 vim 打開 zsh 的設定檔,像這樣:
vim ~/.zshrc
如果您正確打開設定檔,讓我們繼續看下去。
這裡會教一點點 vim 的用法,下面也會用到,vi 或 vim 是蠻常用到的編輯器,推薦大家熟悉一下。
/:可以搜尋關鍵字,輸入 / 後繼續輸入關鍵字再 Enter 即可。
i:按了會進入 -- INSERT -- 模式,可以開始編輯文字,按 esc 離開,離開才能下別的指令。
:wq:儲存(寫入)並離開。
:q!:如果不小心亂改了內容,可以用它強制離開,不會儲存。
可以用 source ~/.zshrc 重新讀取 zsh 設定。
step5:改 ZSH_THEME
找到 ZSH_THEME="robbyrussell",把這行改成這樣 ZSH_THEME="powerlevel10k/powerlevel10k",之後重新讀取 zsh 設定。
應該會跳出主題的設定,沒跳出來的話自己輸入終端機指令 p10k configure。
設定按照喜歡的選,想選的按對應按鈕就可以,英文看不懂查一下吧☺️。
我的改成這樣了,很好看,開心☺️。
順帶一提,oh my zsh 內建主題可以用 ls -a $ZSH/themes/ 來查看,喜歡的主題換到 ZSH_THEME="喜歡的主題名稱" 即可,記得不需要寫 .zsh-theme 喔!
或者,你也可以類似這樣寫,每次讀取 zsh 都會隨機載入主題喔:
ZSH_THEME=random ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) # ZSH_THEME_RANDOM_CANDIDATES=( "喜歡的主題名稱 1" "喜歡的主題名稱 2" ... )
插件
插件讓終端機有更多可能!那怎麼加插件呢?
查內建插件
輸入:
cd $ZSH/plugins/ ls -a
輸出插件列表:
. extract laravel sbt .. fabric laravel4 scala adb fancy-ctrl-z laravel5 scd alias-finder fasd last-working-dir screen (以下略)
選定一個喜歡的插件,名字複製起來,我們以 zsh_reload 為例好了。
對了,列表內容很多對吧?可以用名稱來查它在不在。
輸入:
ls -a | grep zsh_reload
輸出:
zsh_reload
去加插件
先在終端機輸入 src,你會發現它回報沒有這個指令,像這樣:
zsh: command not found: src
因為沒有插件,不能跑 src 指令呢,讓我們來改善這個錯誤😎。
step1:改 plugins
修改 ~/.zshrc 的 plugins=(git),改成這樣:
plugins=(git zsh_reload)
修改方法參照。
step2:享受 src
令人開心的時刻到了,在終端機輸入 src 吧!
這個插件的功用,讓我們可以用 src 指令代替 source ~/.zshrc 指令。
意外的很省事,我把這個插件留下來了😆。
自定義插件
當你在 查內建插件 沒有找到心儀的插件時,要自己把它下載到 $ZSH_CUSTOM/plugins/。
以 zsh-autosuggestions 為例吧!
step1:安裝 zsh-autosuggestions
根據它的安裝教學,我們知道要這麼做:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
cd $ZSH_CUSTOM/plugins/ git clone https://github.com/zsh-users/zsh-autosuggestions
step2:檢查插件是否存在
檢查有沒有 zsh-autosuggestions 吧!
ls -a $ZSH_CUSTOM/plugins/
step3:加到 plugins
有的話,一樣加插件名字到 ~/.zshrc 的 plugins,記得怎麼做嗎?
那你的 plugins 會變成以下,「…」是省略號,記得儲存和重新讀取 ~/.zshrc!
plugins=(... zsh-autosuggestions)
step4:享受 zsh-autosuggestions
享受 zsh-autosuggestions 帶來的好處吧!
它可以記錄我們所有打過的指令,從以前打過的指令搜尋匹配,比如我只打一個 l …
幫你填上灰色的字,按鍵盤的方向鍵右邊,就可以把灰色變白色,指令填完囉!
有點像 control + R 的感覺(搜尋歷史指令,你按按看就知道什麼意思了😉),不過變成是自動的。
想刪除它?
如果要刪除某個插件,那麼基本跟上面的步驟相反,從 ~/.zshrc 的 plugins 中把插件名去除。
然後,如果是內建插件,這樣就完了;如果是自定義插件,可以去 $ZSH_CUSTOM/plugins/ 把它刪掉;當然,如果你只是暫時想拿掉插件,也不一定要刪;如果是想讓它永遠離開你的電腦,請你跟我這樣做~
一樣以 zsh-autosuggestions 為例:
cd $ZSH_CUSTOM/plugins/ rm -r zsh-autosuggestions
如果有問你什麼問題,回它 y 再 Enter,類似這樣。
好的,我們學會了可以用 rm -r 來刪除有檔案的資料夾,插件已經離開你的電腦(解安裝)囉!
推薦插件
其實我目前用的插件沒有很多呢,以後有新用到的再加進去囉。
沒有特別說明的插件,基本上安裝方式和上面教學的差不多。
要注意插件裝太多,zsh 讀取會變慢喔!
| 名稱 | 功能 | 是否內建 | 教學 |
|---|---|---|---|
| autojump | 指令或位置輸入到一半,可以按 tab,會跳出選項供選擇,可以一直按 tab 一直選喔。 | 是 | 安裝 |
| zsh-syntax-highlighting | 指令有顏色了!輸入不對的指令是紅色的喔,呃,發現包含類似 autojump 的功能,所以裝這個後不用裝 autojump 了。 |
否 | 安裝 設定 |
| zsh-autosuggestions | 看這 | 否 | 點我 |
謝謝您的觀看!😆
參考資料
https://github.com/romkatv/powerlevel10k
https://www.jianshu.com/p/60a11f762f62
https://zhuanlan.zhihu.com/p/61447507

謝謝首陽的專業分享 看完之後還是滿頭的黑人問號,要交給專業的來,哈哈
謝謝扶桑捧場,扶桑也是專業的影片製作高手👍!
感謝首陽分享🙏 這⋯⋯太專業了啦😄 果然術業有專攻!
謝謝軍師問路,大家都很專業,也有很多值得學習的地方😆!
哈哈哈哈哈跟一樓一樣的心聲 這篇文章的版型好美❤️
謝謝寒雪❤️~以後有機會寫一篇版型的文章,不過我們也在摸索中😆。
每個英文我都看得懂,加在一起到底是什麼鬼😭😭😭
哈哈哈,我覺得我看到剪輯軟體也會這樣😂
超級感謝詳盡又實用的解說!有美美的終端機可以用啦~