No.
blog - 18
Date

Macのデフォルトシェルをzshにする

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

でシェルを再起動して設定を反映させます.

参考サイト