Macのデフォルトシェルをbashからzshへ変更する方法

今までデフォルトだったからという理由でずっとbashを使っていたのですが、WWDC19の発表でmacOS 10.15 Catalinaでデフォルトシェルがbashからzsh(Z Shell)に変わることが判明しました。
そうなってくるとあえてbashを使う意味もないなと思い、今のうちからzshに変更して色々試しておこうと思いました。
zshの特徴
もともとzshはスゴイと聞いてはいたのですが、そこまでターミナルをガッツリ使っているわけではないので放置してきましたが、zshはbashが提供する機能に加えてプラスアルファの機能が組み込まれているようです。
Zshは、Bashが提供する機能に加え、初心者と上級者の両方のCLIユーザーにとって便利な機能が数多く組み込まれています。
Zshは数々の優れた機能を提供しており、Bashに対する欠点はほぼなく、便利に利用できます。
オープンソースのBashとZshを比較
- コマンドの補完機能がついている
- プラグインを導入することで更に便利にカスタマイズできる
zshのインストール方法
zshのインストール
zshはHomebrewを使って導入します。Homebrewをまだインストールしていない方は、過去記事を参考にインストールを行なってください。
インストールしている場合は、下記のコマンドでzshをインストールします。
$ brew install zsh
これでzshのインストールはできました。
ただ、ターミナルはbashを使用する設定のままなので、zshを使用する設定に変更します。
シェルの切り替え
/etc/shellsのファイルを開いて最終行に下記の1文を追加します。
/usr/local/bin/zsh管理者権限が必要なファイルなので保存時にMacのログインパスワードを入力する必要があります。
自分の場合はVisual Studio Codeで開いて編集しました。

保存できたら下記のコマンドを入力してデフォルトのシェルをzshに変更します。
$ chsh -s /usr/local/bin/zshあとはターミナルを再起動すれば、今まで「$」だった記号が「%」に切り替わっているはずです。

権限の設定
ターミナルを立ち上げたときに下記のエラーが表示される場合は権限の設定をする必要があります。
Ignore insecure directories and continue [y] or abort compinit [n]? y下記の2つのコマンドを入力すればOKです。
$ chmod 755 /usr/local/share/zsh/site-functions
$ chmod 755 /usr/local/share/zshzshの便利なプラグイン
zshではプラグインをインストールすることで、ターミナルを更に便利にカスタマイズできるようです。bashの時は「とにかくデフォルト」という感じだったのですが、zshではかなり自分好みのターミナルにできそうです。
ひとまず、気になったプラグインをまとめておきました(また試して記事にします)。
| プラグイン名 | プラグイン内容 |
|---|---|
| oh-my-zsh | 設定フレームワーク |
| prezto | oh-my-zshの後発プラグイン |
| tig | Gitブラウザ |
| tmux | 端末多重化 |
| zsh-autosuggestions | 補完機能をより強力にする |
| peco | 補完機能をより強力にする |
| zsh-completions | 補完機能をより強力にする |



Alfredでシステム環境設定の各項目をすぐに開く方法
Macのスニペットアプリ「Dash」の環境設定
Google日本語入力の辞書をATOKにインポートする方法
高機能なスクリーンショットアプリ「CleanShot X」
Keyboard Maestroのアクション タイムアウト設定方法で、マクロの継続・停止をコントロールする
Macの圧縮・解凍アプリケーションまとめ
Path Finderの「閉じたタブの開き直し」ショートカットキーを他アプリに合わせる
macOSのシステム環境設定「通知」の設定見直し
Alfredと1Passwordの連携をもっと便利に使いこなすための1Passwordのカテゴリ管理方法
Alfredで設定しておくと便利な細かいことまとめ
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
MacでOutlookの「.msg」拡張子のファイルを開く方法
Orbital 2と修飾キーの同時押しで、別のショートカットキーを発火させる方法
Alfred 4のターミナル機能で実行されるアプリをiTerm2に変更する方法
ウェブサイト上で簡単にWYSIWYGエディタを実装する「TinyMCE」
Nuxt.jsでaxios-moduleを使ってAPIからデータを取得・表示する|Nuxt.jsの基本
Keyboard Maestroでスニペットの登録をする方法
MacでYouTubeの動画再生速度を4倍速にする方法