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



Path Finderがメジャーアップデートで今後はサブスクリプションモデルに!
AlfredのDefault Resultsを変更して、Google検索をラクにする方法
アクティビティモニタで「kernel_task」の暴走を落ち着かせるためには、CPU温度を下げる必要がある
Macの音量や輝度を「細かく調節」したり「音量を確認しながら調節」する方法
ショートカットキーを考える時に参考となる英単語一覧
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Jedit Ωの半角・全角変換機能を使って、全角と半角をすばやく変換する方法
Path FinderとFinderをいい感じに共存させるための設定
Brewfileを使ってMac移行時にコマンド1つで必要なアプリを全てインストールできるようにする|Homebrew Bundle
Transmit 5のPanic Syncでサーバー情報が同期されないときの対処法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Neovimを使い始める最初の一歩として便利な「LazyVim」
Karabiner-Elementsでcommand単体押しで英かなキーを送信するように設定するとcommand + クリックが効かなくなる問題の修正
Alfredを最大限活用する、ブラウザのブックマーク管理方法について
Chrome拡張機能のVimiumを使ってキーボードだけでブラウザを操作する
Karabiner-Elementsでデザインツール(Photoshop・Sketch・Figma)のショートカットキーを設定する
Dashで「Secure Input is Enabled」と表示される場合の対処法
Figmaで画像加工の幅を広げるプラグイン「Filter / effects」
技術ブログを書くときのちょっとした入力や作業をスピーディーに行う小技
Path Finderを使ってキーボードだけでファイル操作する方法(基本操作編)