介紹
終端機?
簡單來說,它讓我們透過指令,命令電腦做事,早期電腦沒有介面,只能用指令命令電腦;現在在設定系統、安裝套件、自動化程式、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
留言列表