使用終端有三個基本工具:zsh,vim,tmux。之后會逐個對這個三個工具進行介紹。
熟悉Linux系統或者Mac系統的,對於「bash」都不會陌生。bash是用戶和系統交互的最基本的腳本環境。而zsh(Z shell)是bash的一個替代品,他對於bash有了很多的優化,無論是使用命令,外觀,體驗,能夠讓用戶更方便順暢的使用Terminal。
本文主要會介紹zsh,oh-my-zsh的安裝,基本環境的配置,以及一些實用的插件。主題風格的配置之后會單獨介紹。
zsh主要是通過oh-my-zsh的拓展,實現了很多好用的功能。
github網址:ohmyzsh/ohmyzshgithub.com/ohmyzsh/ohmyzsh
安裝zsh,oh-my-zsh
- Mac系統安裝zsh十分簡單:
$ brew install zsh
zsh就安裝在/bin/zsh路徑里

系統默認的環境是bash,從bash進入zsh只需要輸入:zsh即可,相反也是一樣。
- 安裝oh-my-zsh
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
- 安裝完成后需要配置每次打開terminal時默認就是zsh。
$ chsh -s /bin/zsh
- zsh會在用戶路徑下生成.zshrc文件,與bashrc類似,在里面添加默認的環境的變量。

常用插件配置
- 路徑大小寫忽略
zsh上的路徑默認是對大小寫不敏感的,這樣的好處是很多時候輸入路徑忘記了某一個文件夾是大寫,zsh會自動將你輸入的小寫改為大寫,「tab」的提示功能也是一樣,會提示無論大寫還是小寫,這樣極大減少了輸錯路徑的概率。
- 更換自帶主題
zsh官方自帶了很多不同風格的主題,可以自定義設定,在~/.zshrc里面改一行即可。

隨機主題可以在每次打開zsh使用不同的主題:
ZSH_THEME="random"
更換其他主題、github的主題需要單獨配置,這里暫時不介紹。
- autojump
神級插件!!路徑層級嵌套非常多的時候,我們使用「cd」一級一級的輸入+Tab效率是非常低的,「autojump」能夠根據用戶平時使用路徑的頻繁程度,根據輸入的關鍵詞,直接跳到路徑下去,關鍵詞是路徑其中一段即可。
安裝autojump
$ brew install autojump
例如,我們想訪問某一個文件夾,如果用常規命令輸入的話
$ cd 絕對路徑

但如果使用「autojump」,只需要輸入
$ j 路徑關鍵詞

可以看到直接跳進該路徑下了。
「autojump」會按照關鍵詞使用頻率做一個排序,有的時候有一些路徑有相似的關鍵詞時,使用「tab」可以查看排序,例如:

想訪問哪一個,輸入相應的數字即可。
- zsh-autosuggestion
一般再輸入路徑,命令時需要點擊「tab」才會提示你一些補全信息,「zsh-autosuggestion」會在輸入的時候就會自動在后面填出最可能輸入的指令,並且隨着之后輸入的內容更新,並且會在下方顯示所有可能的選項,當符合你的需求的時候按「tab」即可。
安裝需要從github上clone項目:
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
之后在「~/.zshrc」里添加內容:
plugins=(zsh-autosuggestions)
source一下重啟terminal即可使用。
- zsh-syntax-highlighting
命令高亮,顏色能夠增強命令的可讀性,看起來也不會很枯燥了,對於命令里的類型也有了很直觀的認知。

安裝方法很簡單
$ brew install zsh-syntax-highlighting
不僅僅是添加了顏色,對於正確的命令,會用綠色顯示出來,錯誤的指令顯示為紅色,正確的路徑下面會有下划線顯示。

其他
- zsh在Linux系統也是完全支持的,Linux系統下插件的安裝可以查看GitHub里項目的readme,這里不做講述;
- bash和zsh基本99%是通用的,但也有時候會出現問題,我這里目前只有兩個地方遇到了問題:安裝anaconda 的時候oh-my-zsh需要配置,snpe的環境只支持bash環境。
- 插件和主題分別放在~/.oh-my-zsh/plugins和~/.oh-my-zsh/themes兩個文件夾里面,方便管理和使用。
