Magnolia Tech

いつもコードのことばかり考えている人のために。

zshの初期設定を行う

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)は、各種設定のオン・オフをかなり詳細にナビゲートしてくれるが、正直ここに出てくるメッセージだけでは全然訳が分からないので、一旦スキップでいいと思う。