「實用」打造自我感覺非常漂亮的Mac終端

Coder小明發表於2021-12-27

背景

(今天我是一個美妝博主?)
突然發現自己使用的iterm2終端樣式有些樸素,為了讓她看起來花枝招展的,我決定給她打扮打扮。畢竟每天面對她的時間比物件還多……

效果對比

因為每個人的喜好都不一樣,所以放一張大家都喜歡的效果圖很難,之前我很喜歡黑色主題,後來,我對淺色反倒情有獨鍾,現在我的開發工具idea、vscode等都是使用的淺色,據說對自己的眼睛好。
深色
淺色
本文的亮點就是:只告訴你設定方法,最終妝後效果由你自己的審美決定。那上面的紅玫瑰和白玫瑰,你更喜歡哪個呢?評論區為你選擇的玫瑰投票。

配置方法

下面給大家詳細講一下深色主題的設定方法。

安裝oh-my-zsh

oh-my-zsh:Unleash your terminal like never before.

oh-my-zsh 是一款社群驅動的命令列工具,正如它的主頁所說,oh-my-zsh是一種生活方式。它基於 zsh 命令列,提供了主題配置,外掛機制,內建的便捷操作,給我們一種全新使用命令列的方式。所以,安裝oh-my-zsh前提條件:必須安裝 zsh,好像是一句廢話。目前來看macOS系統預設推薦的命令列就是zsh。如果你預設的命令列不是zsh,可以執行以下命令進行更換:

chsh -s /bin/zsh

zsh準備好之後,我們就可以正式開始安裝使用oh-my-zsh啦,下面有兩種方式可供參考:

  • 方式一(極力推薦)
    通過命令列下載安裝
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
  • 方式二
    (如果方式一無法安裝,再嘗試該方式)
    1、點選下載該指令碼;
    2、然後執行install.sh
sh install.sh

安裝美化神器:Powerline

安裝完oh-my-zsh,我們重啟終端,此時的終端在輸入命令時,已經美色側漏,為了讓她變得更華麗,我們繼續化妝。

Powerline:一款比較酷炫的狀態列工具,可以美化終端和vim介面。

這款元件由python開發,因此我們需要本地有python及pip環境,安裝命令如下:

pip install powerline-status

(如果你是pip3,可能需要將pip替換為pip3來安裝)
安裝過後,為了字型樣式更加beautiful,我們需要安裝Powerline的字型庫,官方提供的安裝命令如下:

# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts

iterm2更換字型

字型包安裝完成後,我們就需要更改iterm2的字型庫,因為一些介面樣式,使用系統預設自帶的字型會發生亂碼。
更改iterm2字型
我們搜尋meslo,選擇合適的字型大小(S L M)。同樣的,我們使用的其他IDE終端也需要更改,比如mac自帶的終端、idea、vscode,否則也會亂碼,具體步驟可以檢視文末,這裡我們著重講一下Iterm2的配置。

Iterm2更換配色

如下圖所示,總有你喜歡的配色,當然你還可以去官網下載匯入更多配色
Iterm2更換配色

設定主題

oh-my-zsh內建了很多主題,在目錄下:

cd ~/.oh-my-zsh/themes

我當前使用的自帶的是agnoster主題,我們可以直接配置。用vim編輯器開啟當前使用者目錄下隱藏檔案.zshrc,將ZSH_THEME後面欄位改為agnoster

vim ~/.zshrc

更換專題agnoster
重新開啟iTerm2即可看到最新妝後效果,當然也可以檢視更多主題

設定語法高亮

繼續化妝,我們可以直接使用homebrew安裝zsh-syntax-highlighting外掛,它可以突出顯示命令,有助於在執行命令之前檢查命令,特別是捕獲語法錯誤,簡直不要太好用。

brew install zsh-syntax-highlighting

然後在根目錄下.zshrc中插入下面內容:

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source ~.zsh

注意:這裡如果,我說的是如果,source 的時候有提示問題:

compinit:503: no such file or directory: /usr/local/share/zsh/site-functions/_brew_cask

原因有可能就是裝了brew快取記錄導致的,我們執行 brew cleanup 即可修正。

程式碼補全外掛

有一些外掛能讓zsh變得更加酷炫!使用更加方便!比如模糊補全命令,之前我們的命令都是必須字首命中才會補全,現在不用這麼麻煩啦,直接模糊補全!

  • 智慧補全:zsh-completions

在oh-my-zsh儲存庫中克隆儲存庫:

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

注意:你可能在git clone github倉庫時,會遇到SSL_ERROR_SYSCALL相關錯誤,但瀏覽器可以正常訪問github,那是因為clone請求需要LibreSSL來進行加密,但是環境沒有curl-openssl模組,所以我們可以使用homebrew來安裝該模組:

brew install curl-openssl

安裝成功後即可正常加密請求github倉庫資源(如果不行的話來打我)。
修改.zshrc檔案,找到plugins,更新內容:

plugins=(git zsh-completions)
  • 歷史命令補全:zsh-autosuggestions
    安裝完這個命令,你會驚奇的發現,在敲擊一些命令的時候,會自動提示你的歷史命令!
    官方文件提供的zsh-autosuggestions安裝步驟
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

Add the plugin to the list of plugins for Oh My Zsh to load (inside ~/.zshrc):

plugins=( 
    # other plugins...
    zsh-autosuggestions
)

Start a new terminal session.

就不翻譯了,大家照著做就可以體驗一下智慧推薦的歷史命令補全,點選方向鍵->即可補全,屢試不爽!(不過,我試用過後發現不是很實用,反而會不方便,於是,就在配置中取消了)大家各有所需,可以自由選擇。

Iterm2水印

Iterm2還可以有更多個性化的設定,比如我們可以將遠端伺服器的連線資訊放到profiles裡面,然後通過快捷鍵直接連上遠端伺服器,這樣就不用自己手動寫命令,很是方便。但是這樣會有一個問題,當有多個遠端伺服器的時候,我們不知道當前是在哪一個伺服器上面。這該如何優雅解決呢?
我來告訴你,iterm2支援在終端新增一個自定義的水印來顯示當前的位置!設定方式如下圖所示:
badge
效果就是右上角有水印可以標註我們現在訪問的是哪一個伺服器。

效果圖中笑臉?的配置

細心的朋友會發現,我的終端左側有一個笑臉,這是因為,我想告訴大家:我們面對bug要保持微笑、樂觀的心態,設定方法如下:
我們進入主題目錄

cd ~/.oh-my-zsh/themes

編輯當前使用的主題:agnoster

vim agnoster.zsh-theme

找到prompt_context,按照下圖增加表情:
表情符號

字型亂碼

細心的朋友還會發現,自帶的終端、idea、vscode會出現字型亂碼的現象,解決辦法就是通過更換字型包來支援這些特殊符號。

  • 自帶終端

開啟terminal的偏好設定修改字型包為Meslo
terminal
正常效果如下:
正常效果

  • vscode

同理,我們也需要修改vscode的字型包為Meslo
開啟vscode的設定,然後搜尋terminal font修改如下圖所示:
terminal font

  • idea

再同理,我們也需要修改idea的字型包為Meslo
開啟idea的設定,然後搜尋console font 修改如下圖:
idea的設定

相關連結

文中提到的跳轉連結總結如下:

最後

當我們費勁千辛萬苦終於搞定終端的樣式後,你會發現這一切努力都是值得的!因為她現在不僅像花瓶一樣好看,而且變得比以前更加實用!你更加離不開她啦!

請大家持續關注微信公眾號:程式設計師小明!!!一個非著名程式設計師的日常。
程式設計師小明
PS:配置過程中有遇到文中沒提到的問題,歡迎討論!

相關文章