📝

zshの設定

2021/06/12に公開

最近MacのOSを再インストールして刷新したので、ついでにzshの設定もいい感じにしたので紹介します。

shellはfishもいいんですけど、結構zshやbashと互換性がないのでzshをfishっぽく自動補完できるようにしたいなと思って以下の機能を設定しました。

  1. コマンドの自動補完
  2. 重複を記録しない
  3. ヒストリに追加されるコマンド行が古いものと同じなら古いものを削除
  4. 余分な空白は詰めて記録
    他にも設定はしますが、メインはこんなところです。

まず、自動補完を行うために以下のコマンドでzsh-autosuggestionsをダウンロードします

# zsh-autosuggestionsのダウンロード
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions

次に、zshを起動した際に設定を反映するためにホームディレクトリに.zshrcを作成して以下の設定を書き込みます。

# 履歴ファイルの保存先
export HISTFILE=${HOME}/.zsh_history
# メモリに保存される履歴の件数
export HISTSIZE=1000
# 履歴ファイルに保存される履歴の件数
export SAVEHIST=100000
# 重複を記録しない
setopt hist_ignore_dups
# ヒストリに追加されるコマンド行が古いものと同じなら古いものを削除
setopt hist_ignore_all_dups
# 余分な空白は詰めて記録
setopt hist_reduce_blanks
#自動補完の設定
source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh

設定が終わったら、zshを起動し直すか、以下のコマンドで変更を反映します。

source ~/.zshrc

Discussion