[macOS General] Homebrew で zsh を導入する
手順をまとめていたつもりが、まとまっていなかったようなのでまとめる。
初期の導入や実践にあたっては、こちらのエントリで勉強させていただきました。
ここから始めるとわかりやすいです。
Contents
インストール
Homebrew 版をインストールする場合。
$ brew install zsh --disable-etcdir
$ brew install zsh-completions
zsh-completions は、zsh の補完機能をさらに強力なものにしてくれる。
シェルの切り替え
現在のシェルを確認する
$ dscl localhost -read Local/Default/Users/$USER UserShell
UserShell: /bin/bash
/etc/shells に追記する
echo "/usr/local/bin/zsh" >> /etc/shells
と書いたらエラー。
$ sudo sh -c "echo '/usr/local/bin/zsh' >> /etc/shells"
Password:
$ 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/ksh
/bin/sh
/bin/tcsh
/bin/zsh
/usr/local/bin/zsh
シェルを切り替える
$ chsh -s /usr/local/bin/zsh
.zshrc を設定する
こちらをありがたく利用して、必要なものを追記していきます。
zsh-completions の設定を追記する
fpath に zsh-completions を追加する。
# 補完
# for zsh-completions
fpath=(/usr/local/share/zsh-completions $fpath)
# 補完機能を有効にする
autoload -Uz compinit
compinit -u
.zshenv を作成する
あわせて .zshenv も作成し、homebrew に path を通しておきます。
export PATH=/usr/local/bin:$PATH
Homebrew 導入時に、.bash_profile あたりに記載した内容ですね。
zcompdump を再構築する
公式の通りに実行する。
$ rm -f ~/.zcompdump; compinit
以上。
ログインし直すと切り替わっていることが確認できる。
補遺
シンプルに使っていたつもりでも、意外と設定を加えていたので、やはり dotfiles として管理しておく必要性を感じました。
こちらを参考に .zshrc と .zshenv など、設定をいろいろ見直してみる。
.zshrc に関しては、ほかにもこの辺りの設定を加えていくことになるはず。
その他にも、この辺りとか。
node, ruby まわり。