macOSをCatalinaにアップグレードしてターミナル開いたら.「これからはデフォルトのシェルはzshですよ」的なことを言われました.今後のことも考えてzshを使っていくように変更します.
デフォルトシェル変更
ターミナルを開くと↓のように表示されます.
The default interactive shell is now zsh.
To update your account to use zsh, please run `chsh -s /bin/zsh`.
For more details, please visit https://support.apple.com/kb/HT208050.
ということで,そのまんま打ち込みます.
$ chsh -s /bin/zsh
パスワードを聞かれると思うので,入力します.
設定ファイル移行
bash
の設定ファイルをzsh
に移行します.公式サポートページを見ると,
bash プロファイルを使って、環境変数、エイリアス、パス変数の設定などをしている場合は、それに相当する zsh のプロファイルを使うように切り替えてください。以下に例を紹介します。
- .zprofile は .bash_profile に相当し、ログイン時 (SSH ログインも含む) に実行されます。
- .zshrc は .bashrc に相当し、新しいターミナルセッションごとに実行されます。
となっているので,.bash_profile
の内容を.zprofile
に,.bashrc
の内容を.zshrc
にコピーします.
% cat .bash_profile > .zprofile
% cat .bashrc > .zshrc
コマンド補完
コマンド補完機能を有効化します.bashと違ってコマンドだけでなくオプション?も補完してくれるようですね.ついでにShift+Tabで逆順に候補が選択できるようにします.
### 補完 ###
# 補完機能有効化
autoload -U compinit; compinit
# Shift+Tabで候補逆順選択
bindkey "^[[Z" reverse-menu-complete
プロンプト
1行目にカレントディレクトリ,2行目にプロンプトを表示します.ユーザー名やコンピュータ名は個人的には不要なので表示しません.カレントディレクトリには色を付けました.
### プロンプト ###
# 色有効化
autoload -U colors; colors
# プロンプト1
PROMPT="%F{cyan}%~%f
%# "
履歴
メモリ,ファイル共に10000件保持することにします(これくらいで足りますよね?).
重複除外とか不要なスペース除外とかいろいろできるようですが設定しません.当時の入力をそのままの形で見たくなるかもしれないので,,,
### 履歴 ###
# コマンド履歴
HISTFILE=~/.zsh_history
HISTSIZE=10000
SAVEHIST=10000
おまけ
ビープ音がうるさいので,OFFにします.
### オプション ###
# beep無効
setopt no_beep
反映
一通り設定が終わったら,
% exec zsh
でシェルを再起動して設定を反映させます.