はじめに
MacOS「Catalina」になってからシェルがbash
からzsh
に変更されてまして、ちょっとこの機会に少し設定し直すことにしました。
もし、「Catalina」以下のOSでzshに変えたい場合
PCに入ってるShell一覧を確認
cat /etc/shells
# List of acceptable shells for chpass(1).
# Ftpd will not allow users to connect who are not using
# one of these shells.
/bin/bash
/bin/csh
/bin/dash
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh
zshがそもそもなかった場合はHomebrew
などでインストールして、切り替え。
brew install zsh
sudo sh -c "echo '/bin/zsh' >> /etc/shells"
chsh -s /bin/zsh
bash
に戻したい場合はこれ。
chsh -s /bin/bash
.bashrcは.zshrcに置き換え
一旦、下記で変更されていることを確認。
.zshrc
echo $SHELL
/bin/zsh
設定項目は下記
~/.zshrc
PROMPT='%F{green}%m@%n%f %F{cyan}%~%f$ '
# プロンプト複数起動時のhistory共有
setopt share_history
# 重複するコマンドのhistory削除
setopt hist_ignore_all_dups
# コマンドのスペルミスの修正
setopt correct
# Command補完
autoload -Uz compinit && compinit
# ----------------------------------------------------------------------------------------
# alias設定
# ----------------------------------------------------------------------------------------
alias ll="ls -la"
alias v="/usr/local/bin/vim" # vim
alias his='history -Di | grep' # 引数でhistoryのgrepを行う
alias history='history -Di'
# ----------------------------------------------------------------------------------------
# zsh-completions(補完機能)の設定
# ----------------------------------------------------------------------------------------
if [ -e /usr/local/share/zsh-completions ]; then
fpath=(/usr/local/share/zsh-completions $fpath)
fi
autoload -U compinit
compinit -u
とりあえず、簡単に設定しておく。
source ~/.zshrc
これで反映完了。
.zshrcの詳細
PROMPT='%F{green}%m@%n%f %F{cyan}%~%f$ '
プロンプトの設定はbashの時と違うので、色々参考に変更した。
brew install zsh-completions
zsh-completions(補完機能)の設定は必須だと思うので、追加。
Homebrewでインストール出来る。設定は.zshrc内を参照。
あとは、下記をいれた。
- プロンプト複数起動時のhistory共有
- コマンドのスペルミスの修正
- Command補完
. bash_profileは.zprofileに置き換え
今までだと.bash_profile
から.bashrc
を呼んでいたのだが、新しいセッションごとに.zshrc
は呼ばれるようなのでこの設定はいらないみたいだ。なので、.zprofile
については特に今の所は何も記載していない。今後、何か記載した場合は追記する予定。
まだまだ、zsh
にはより良い機能がたくさんあるとのことなので、更新していきたい。