利器 | Terminal & Shell 改造記錄 Windows Terminal + Oh My ZSH + Tmux

方文達發表於2021-11-28

“利器”系列說明:“工欲善其事必先利其器”,有了稱手好用的工具,才能最大程度發揮出自己的能力,提高生產力和效率,避免無效加班。因此,“利器”系列將會記錄我對於各種工具的改造,以及我是如何組合應用它們發揮價值。


這篇文章主要記錄我 Terminal & Bash 改造,Terminal & Bash 是所有程式設計師在新的開發環境下第一個接觸也是最常接觸的地方,因此,這裡的作為“利器”系列的第一篇,分享給大家。

注:以下內容中,涉及到下載的連結,均已經過國內網路優化地址,方便大家快速下載

Terminal :Windows Terminal

Windows環境下,我選擇 Windows Terminal

選擇原因:其他的 Terminal 存在一個不好解決的問題,就是在使用遠端Tmux的情況下,無法使用滑鼠選擇複製貼上,同時Windows Terminal 也擁有不輸其他 Terminal 個性化配置功能

安裝方法:直接在微軟應用商店搜尋“Windows Terminal”安裝即可。

配置

有兩種配置方式,一種是互動式,另一種是編輯配置檔案setttings.json,建議初次配置使用互動式的配置方式即可。配置完成後,可以將配置檔案匯出備份到雲盤上,方便以後直接使用。

我主要修改了字型和字號,字號設定為14,方便大螢幕閱讀,字型用的是“FiraCode”,這是一種針對於程式設計的字型,詳細的介紹可以看這裡:FiraCode

字型的官方下載連結:FiraCode.zip

阿里雲下載連結:

「firacode」,點選連結儲存,或者複製本段內容,開啟「阿里雲盤」APP ,無需下載極速線上檢視,視訊原畫倍速播放。 連結:https://www.aliyundrive.com/s...

Shell 配置

因為我一般都是在本地通過SSH遠端連線到伺服器Ubuntu系統上,因此,這裡只討論Ubuntu環境下的Shell配置。

安裝 ZSH

在Ubuntu系統下,執行

sudo apt install -y zsh curl wget git tmux

安裝 Oh My Zsh

Oh My Zsh 是 Zsh 的配置管理器,包括外掛,主題等的配置,並且已經預設了許多實用功能,整合了相當多的外掛(大部分預設不啟用)有興趣的朋友可以進入它的官網獲取更多資訊:

Oh My Zsh - a delightful & open source framework for Zsh

想快速瞭解的朋友,可以看看它的Cheatsheet:

https://github.com/ohmyzsh/ohmyzsh/wiki/Cheatsheet

安裝過程

cd ~
wget https://pd.zwc365.com/https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh
# 設定遠端地址為github映象地址
Export REMOTE=https://hub.fastgit.org/ohmyzsh/ohmyzsh.git
sh install.sh

安裝 starship

sh -c "$(curl -fsSL https://pd.zwc365.com/https://starship.rs/install.sh)" -- -B https://hub.fastgit.org/starship/starship/releases
echo 'eval "$(starship init zsh)"' >> ~/.zshrc

安裝 Shell 語法高亮外掛

外掛地址:

Fast Syntax Highlighting (F-Sy-H)

效果預覽:

https://pic1.zhimg.com/v2-f5e23c855f18f66809237e5bf31ec798_b.png

安裝步驟:

  1. 執行命令:
git clone https://hub.fastgit.org/zdharma-continuum/fast-syntax-highlighting.git \
  ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting
  1. 開啟~/.zshrc 檔案,找到 plugins,新增fast-syntax-highlighting外掛
 plugins=(git fast-syntax-highlighting)
  1. 啟用ZSH配置,執行命令
source ~/.zshr

安裝 Shell 自動完成外掛

效果預覽:

https://asciinema.org/a/37390

  1. 下載外掛
git clone https://hub.fastgit.org/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  1. 新增外掛

開啟~/.zshrc 檔案,找到 plugins

 plugins=(git fast-syntax-highlighting zsh-autosuggestions)
  1. 啟用外掛
source ~/.zshrc

Tmux

Tmux 是一款強大的終端複用器(這個翻譯有點廢),通俗一點的說,就是在關閉SSH遠端連線的情況下,終端裡執行的程式依然不會斷開。

Tmux 的基本介紹和使用,可以參考阮一峰的部落格,連結在這裡:

Tmux 使用教程 - 阮一峰的網路日誌

Tmux 配置檔案 Oh My Tmux

效果預覽:

https://pic3.zhimg.com/v2-a373906b98b5ed7cfadb506017c27eea_b.png

安裝命令如下:

cd
git clone https://hub.fastgit.org/gpakosz/.tmux.git
ln -s -f .tmux/.tmux.conf
cp .tmux/.tmux.conf.local .

安裝完成後,進入Tmux便可以看到新的介面了

我用的比較多的快捷鍵:

  1. 新增了C-a作為C-b的第二選擇(從鍵位的角度來說,C-a 更方便一些)
  2. <prefix> m 繫結滑鼠模式
  3. <prefix> - 縱向分割當前皮膚
  4. <prefix> _ 橫向分割當前皮膚

更加詳細的介紹,可以進入作者的github頁面瞭解,連結如下:

https://github.com/gpakosz/.tmux


以上便是Terminal和Shell的改造全過程,希望這篇文章能夠幫助你在終端介面中提高效率。

當然,這並不是改造的結束,相關的工具和外掛其實是非常龐雜的,也有許多值得進一步探索的地方,我也只是用了這些工具的冰山一角而已。

我會在今後的文章中,逐漸加入一些針對性的環境配置和工具使用教程。

如果大家想推薦自己使用的工具,歡迎再評論區留言,我會即使將推薦內容更新至文章當中。


題圖 Photo by Andrew Svk on Unsplash

參考文章:https://tjay.dev/howto-my-terminal-shell-setup-hyper-js-zsh-starship/

相關文章