macOS Catalina以降、macOSのデフォルトログインシェルがzsh
に変更されたけど、特に設定ファイル(.zshrc
)とかも用意してくれないので、高機能なzsh
の機能が使えない状態になっている。
公式ドキュメントは分量も多く、概要を掴む構成にもなっていないし、ブログ等の設定例をコピペするのも応用が効かなくなってしまうので、まずは初期設定ツールを使うのがおすすめ。
zsh-newuser-installについて
Ubuntuなどではログインシェルをzshに切り替えると、設定ファイルの作成をナビゲートしてくれるzsh-newuser-install
が起動するが、macOSでは起動しないので、以下のコマンドを実行し、手動で起動する。
% autoload -Uz zsh-newuser-install && zsh-newuser-install -f
ちなみに...
autoload -Uz
autoload
は関数の遅延ロード、初めて実行される時に実際の読み込みを行う指定、-U
は一度読み込んだ関数の再定義を防止するオプション、-z
はコンパイル済みの関数をロードするオプション このコマンドの場合は気にする必要はないが、定番の書き方なので、覚えておこう-f
このオプションを設定しないと、すでに設定ファイル(.zshenv、.zprofile、.zshrc、または.zlogin)が存在する場合は直ちにコマンドは終了する 設定ファイルの有無に関わらず設定を行いたい場合は
-f
オプション付で起動する
初期設定の実行
実行すると対話型のメニューが出てくる
Please pick one of the following options: (1) Configure settings for history, i.e. command lines remembered and saved by the shell. (Recommended.) (2) Configure the new completion system. (Recommended.) (3) Configure how keys behave when editing command lines. (Recommended.) (4) Pick some of the more common shell options. These are simple "on" or "off" switches controlling the shell's features. (0) Exit, creating a blank ~/.zshrc file. (a) Abort all settings and start from scratch. Note this will overwrite any settings from zsh-newuser-install already in the startup file. It will not alter any of your other settings, however. (q) Quit and do nothing else. --- Type one of the keys in parentheses ---
ヒストリ関係の(1)と、補完の設定をしてくれる(2)、キー操作をemacs系とするか、vi系とするかを選ぶ(3)は必須
(4)は、各種設定のオン・オフをかなり詳細にナビゲートしてくれるが、正直ここに出てくるメッセージだけでは全然訳が分からないので、一旦スキップでいいと思う。