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 | 補完機能をより強力にする |



Illustratorでスクリプトを実行するいくつかの方法
Macの圧縮・解凍アプリケーションまとめ
Keyboard Maestroのバージョン9.0がリリース!ダークモード対応やJSON関連のアクションが追加
Macの基本操作をラクにするために使っているユーティリティアプリ
AirPodsで片耳を外しても再生が止まらないようにする方法
Macのスニペットアプリ「Dash」の環境設定
Google Chromeのタブを1つにまとめる拡張機能「OneTab」
ATOKで目的の単語にすぐ変換するための「辞書・学習」タブの設定項目
動画の圧縮をFinder右クリックメニューの「選択したビデオファイルをエンコード」から行う
Path Finderの「Finderで開く」が機能しないので、Keyboard Maestroで代替用マクロを作成する
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Karabiner-Elementsでcaps lockで修飾キー全押し、caps lock + 修飾キーで押したキー以外の修飾キーを押す方法(reverseキー)
Illustratorをスクリプトで操作する時の基本
WordPressの自動バックグラウンド更新を無効にする方法とその注意点
Alfredの1Password連携で、登録しているウェブサイトではなくアプリでログイン情報を開く方法
Path Finder 8で動作がおかしいと思ったときにチェックすること
gulp-sass 5の「does not have a default Sass compiler」エラーを解消する
JavaScriptで日付をコピーして計算すると、コピー元の日付も変わってしまう場合の対処法
FigmaのVariants機能でコンポーネントの状態を管理する方法
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Bracket Pair ColorizerでVisual Studio Codeの括弧を色分けして見やすくする