[macOS General] Homebrew で zsh を導入する
手順をまとめていたつもりが、まとまっていなかったようなのでまとめる。
[markdown]
初期の導入や実践にあたっては、こちらのエントリで勉強させていただきました。
ここから始めるとわかりやすいです。
> * [初めて Mac で zsh を使う人のためのチュートリアル – mollifier delta blog](http://mollifier.hatenablog.com/entry/2013/02/22/025415)
## インストール
Homebrew 版をインストールする場合。
“`
$ brew install zsh –disable-etcdir
$ brew install zsh-completions
“`
zsh-completions は、zsh の補完機能をさらに強力なものにしてくれる。
> * [zsh-users/zsh-completions](https://github.com/zsh-users/zsh-completions)
## シェルの切り替え
### 現在のシェルを確認する
“`
$ dscl localhost -read Local/Default/Users/$USER UserShell
UserShell: /bin/bash
“`
> * [Mac – ユーザのログインシェルを調べる – Qiita](http://qiita.com/tadsan/items/f96e2c48041562b79beb)
### /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
“`
> * [Linux – $ sudo echo hoge > a ・・・bash: a: 許可がありません の正しい方法 – Qiita](http://qiita.com/tukiyo/items/b2642370352ebffb5480)
### シェルを切り替える
“`
$ chsh -s /usr/local/bin/zsh
“`
## .zshrc を設定する
こちらをありがたく利用して、必要なものを追記していきます。
> * [少し凝った zshrc](https://gist.github.com/mollifier/4979906)
### zsh-completions の設定を追記する
fpath に zsh-completions を追加する。
> * [zsh-users/zsh-completions](https://github.com/zsh-users/zsh-completions)
> * [ヾ(o゚ω゚o)ノ゙bashからzshに移行して2014年を迎えよう![ログインシェル] – Qiita](http://qiita.com/harapeko_wktk/items/47aee77e6e7f7800fa03)
“`:.zshrc
# 補完
# for zsh-completions
fpath=(/usr/local/share/zsh-completions $fpath)
# 補完機能を有効にする
autoload -Uz compinit
compinit -u
“`
> * [.zshrcで見かけるautoloadの意味と使い方 – Qiita](http://qiita.com/yuku_t/items/77c23390e52168a2754a)
> * [[zsh] compinit – ニッキ](http://d.hatena.ne.jp/ywatase/20071103)
### .zshenv を作成する
あわせて .zshenv も作成し、homebrew に path を通しておきます。
“`:.zshenv
export PATH=/usr/local/bin:$PATH
“`
Homebrew 導入時に、.bash_profile あたりに記載した内容ですね。
### zcompdump を再構築する
公式の通りに実行する。
“`
$ rm -f ~/.zcompdump; compinit
“`
以上。
ログインし直すと切り替わっていることが確認できる。
## 補遺
シンプルに使っていたつもりでも、意外と設定を加えていたので、やはり dotfiles として管理しておく必要性を感じました。
こちらを参考に .zshrc と .zshenv など、設定をいろいろ見直してみる。
> * [Zsh 入門者のための超速設定ガイド – Qiita](http://qiita.com/uasi/items/c4288dd835a65eb9d709)
> * [zsh の設定ファイルの置き場所をまとめる – Qiita](http://qiita.com/sempreff/items/bd85ff14a54ec185f7d9)
.zshrc に関しては、ほかにもこの辺りの設定を加えていくことになるはず。
> * [zsh の vcs_info に独自の処理を追加して stash 数とか push していない件数とか何でも表示する – Qiita](http://qiita.com/mollifier/items/8d5a627d773758dd8078)
その他にも、この辺りとか。
> * [zshのPATHの自動重複削除や余計なPATHの削除 – @znz blog](http://blog.n-z.jp/blog/2013-12-12-zsh-cleanup-path.html)
> * [zsh: path 設定 と Homebrew の補完設定 | deadwood](https://www.d-wood.com/blog/2013/12/28_5165.html)
node, ruby まわり。
> * [Zsh | deadwood](https://www.d-wood.com/?s=zsh)
[/markdown]