天天看點

用 zsh 配置 shell 終端用 Zsh 配置 shell 終端

用 Zsh 配置 shell 終端

說明

一般的作業系統會自帶 bash shell ,但是 bash shell 不是很好用,是以決定做一個更新,提高開發效率

1. fish shell

最開始安裝的是 fish shell ,這個 shell 的優點就是使用預設配置,就可以滿足絕大部分的開發需求(提示、補全、曆史)。

1. 安裝

# Mac 下
brew install fish

# Ubuntu Linux
sudo apt install fish
           

2. 使用

# 指令行輸入 fish 即可進入 fish shell 環境,自動補全、提示等功能都是預設的不需要設定
fish 
           

3. 棄用原因

最主要的原因就是與 bash 的相容問題,有些 bash 的腳本不能夠執行
# 例:在配置 nvm 的時候要建立一個檔案有如下内容
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

# 會有如下報錯
# fish: Unsupported use of '&&'. In fish, please use 'COMMAND; and COMMAND'.
# [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
#                          ^
# 原因是 fish 不支援 && 
           

2. zsh shell

Zsh 是相容 bash 的,而且插件、主題豐富、更适合 DIY

1. 安裝

# Mac 
brew install zsh 

# Ubuntu Linux
sudo apt install zsh
           

2. 将 zsh 設定為預設的腳本

chsh -s $(which zsh)
           

3. 使用

# 指令行輸入 zsh 進入
zsh
           

3. oh-my-zsh

Oh My Zsh是一款社群驅動的指令行工具,它是基于 zsh 的,提供了主題配置、插件機制、内置的便捷操作等,可以說是 zsh 的指令行擴充

1. 安裝

先要確定 zsh 已經安裝
# curl 安裝
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

# wget 安裝
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
           

2. 使用

安裝後進入 zsh 指令行就會自動使用 oh-my-zsh 的配置

3. 配置主題

安裝 oh-my-zsh 時,官方提供的主題就已經下載下傳到

~/.oh-my-zsh/themes/

下,按照如下方式安裝
# 編輯 .zshrc 配置檔案
vi ~/.zshrc

# 在檔案前部分找到 ZSH_THEME 配置,設定值為在 ~/.oh-my-zsh/themes/ 下看到的主題名即可
ZSH_THEME="ys"

# 或者可以設定随機主題,這樣每次開啟終端都是一個新的主題
ZSH_THEME="random"

# 如果設定的是随機主題,在新打開的終端中輸入如下指令
echo $ZSH_THEME # 傳回目前 zsh 主題名,随機主題會傳回 random
echo $RANDOM_THEME  # 傳回目前随機主題的名稱

# 找到合适的主題後,可以回到 ~/.zshrc 設定為固定主題
           

4. 安裝插件

預設設定沒有指令提示和補全,需要安裝插件,安裝 oh-my-zsh 時,官方提供的插件下載下傳到了

~/.oh-my-zsh/plugins/

# 編輯 zshrc 配置檔案
vi ~/.zshrc

# 在檔案後半部分找到 plugins=(git) 需要什麼插件能在 ~/.oh-my-zsh/plugins/ 中找到的直接加進去就可以,用空格隔開
plugins=(git zsh-autosuggestions zsh-syntax-highlighting history-substring-search)

# 儲存退出後,重新打開終端就可以使用了
           

5. 安裝非官方主題和插件

官方網站給出了安裝方法

6. 推薦插件

推薦三個用于指令提示、和補全的插件
  • zsh-autosuggestions 安裝方法
  • zsh-syntax-highlighting 安裝方法
  • history-substring-search 安裝方法

繼續閱讀