一般Linux系統終端默認使用的是Shell是Bash。Bash作爲底層的解釋器功能已經非常強大了,但是對於以懶惰爲動力的程序員來說,Bash的某些功能還不夠強大,界面不夠現代科技感。同時後起之秀zsh雖然功能非常強大,但是配置的過程太複雜,使用者也不是很多。
直到有一天,國外有個無聊的程序員開發出了一個讓你快速上手的zsh項目,叫做oh-my-zsh,讓你神功速成,最終可以讓你的終端飛起來,我們先看一下效果圖:
安裝oh-my-zsh
我使用的是Ubuntu 18.04,首先安裝zsh:
sudo apt install git
sudo apt install zsh
把終端默認Shell換成zsh:
chsh -s /bin/zsh
自動安裝oh-my-zsh:
sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
安裝完成之後退出當前會話重新打開一個終端窗口,你就可以見到這個彩色的提示了:
配置
zsh 的配置主要集中在用戶當前目錄的.zshrc裏,用vim打開.zshrc,可以看到有主題和插件的默認配置:
ZSH_THEME="robbyrussell"
plugins=(git)
在這個文件裏面除了可以配置自己喜歡的插件和主題外,我們還能設置別名:
alias ll='ls -l'
alias la='ls -a'
alias vi='vim'
還能綁定快捷鍵:
bindkey -s '\eo' 'cd ..\n' # 按ALT+O 執行 cd ..
bindkey -s '\e;' 'ls -l\n' # 按 ALT+; 執行 ls -l
修改這些配置後,執行如下命令生效:
source ~/.zshrc
下面一邊介紹zsh的強大功能,一邊修改相應的配置:
兼容bash
和bash完全兼容,之前你怎麼用bash這裏還怎麼用。
色彩高亮
並不是傳統基於正則表達式的色彩高亮,而是會動態判斷你輸入的是什麼來顯示不同高亮。
- 白色代表普通正常的命令和進程
- 紅色代表錯誤的命令
- 青色的代表內建命令或者alias
命令提示
不光有強大的歷史紀錄功能:輸入 grep 然後用上下箭頭可以翻閱你執行的所有 grep 命令。而且還會在用灰色給你提示你上一個輸入的命令記錄。
智能補全
各種補全:路徑補全、命令補全,命令參數補全,插件內容補全等等。觸發補全只需要按一下或兩下 tab 鍵,補全項可以使用 ctrl+n/p/f/b上下左右切換。
你想殺掉 vim 的進程,只需要輸入 kill vim + tab鍵,如果只有一個 vim 進程,zsh 會自動替換爲進程的 pid,如果有多個則會出現選擇項供你選擇。
快速跳轉
輸入cd -命令,敲一個 tab 立刻就列出本次登陸後去過的最近幾次路徑,接着根據下面的提示輸入數字按回車就可以了。
目錄瀏覽和跳轉
輸入 d 再回車你會看到最近的歷史記錄,然後你就可以通過數字返回到某個歷史記錄中了。
自動跳轉
安裝了autojump之後,zsh 會自動記錄你訪問過的目錄,通過 j + 目錄名 可以直接進行目錄跳轉,而且目錄名支持模糊匹配和自動補全,例如你訪問過vim_config目錄,輸入j vim 即可正確跳轉。j –stat 可以看你的歷史路徑庫。
配置文件
寫到這,你可能會問,你說的這些功能oh-my-zsh默認並沒有打開這些插件或者功能,所以我把我的配置文件上傳到這裏:
.zshrc
把上面這個配置的內容複製粘貼到你的 ~/.zshrc 文件裏,保存,然後重新打開一個窗口,頭一次運行會安裝一些依賴包,稍等兩分鐘,以後再進入就瞬間進入了。頭一次自動安裝好所有插件後需要手動安裝下autojump插件,然後重啓終端即可:
$ cd ~/.antigen/bundles/wting/autojump
$ ./install.py
至此,zsh一出,誰與爭鋒!你趕緊也嘗試下oh-my-zsh這個shell中的極品,讓你的終端飛起來吧。