初めて Mac で zsh を使う人のためのチュートリアル

俺聞け4というイベントで zsh について発表しました (その時の発表資料)。「普段シェルを使っていない人でも zsh を使うと便利だよ」という内容で発表したので、それを聞いて使ってみようと思った人もいたようです。

でもググってみても色々分かってる人向けの記事はありますが、「どうやって起動するんですか?」という本当の初心者のための記事はあんまりありません。

そういう初めての人にも zsh を使って欲しいと思ったので、初心者向けの入門記事を書きました。Mac を使えば簡単に zsh を始めれるので、使い方が分からないという人は参考にしてみてください。

ターミナルを起動する

zsh「ターミナル」というアプリを起動して使います。

「アプリケーション」 -> 「ユーティリティ」の中に「ターミナル」があるので起動してみましょう。

次回起動するときのために Doc に追加しておくと便利です。

zsh を起動する

ではさっそくコマンドを実行してみましょう。次のように入力してみてください。

% ps

先頭の % はプロンプトと言ってコマンドの入力場所を表す記号です。実際には % の後の ps の部分を入力してください。(%$ などと表示されているかもしれませんが同じ意味です。この記事では % で表します)

このように表示されたでしょうか。

% ps
  PID  TTY            TIME CMD
  229  ttys002    00:00:08 bash

数字の部分は人によって違うと思いますが、2行目で bash というコマンドが動いていることが表示されています。

bash はシェルの一種で、Mac ではターミナルを起動すると bash が起動するようになっています。このように最初に起動するシェルのことを「ログインシェル」と呼びます。

今回は zsh を実行したいのでした。zsh は Mac に標準でインストールされているのですぐに実行できます。

% zsh

もう一度 ps を実行してみましょう。

% ps
  PID  TTY            TIME CMD
  229  ttys002    00:00:08 bash
  258  ttys002    00:00:02 zsh

今度は zsh という行が増えています。無事 zsh が実行できているようです。

zsh を終了するには exit コマンドを使います。

% exit

ログインシェルを変更する

毎回 zsh と入力するのは面倒なので、自動的に zsh が起動するように変更してみましょう。ログインシェルを zsh に変更すると bash の代わりに zsh が最初に起動するようになるのでうまくいきます。

まず zsh がログインシェルとして指定できるかどうかを確認します。以下のコマンドを実行してください。

% cat /etc/shells

表示はこのようになると思います(環境によって若干変わります)。

/bin/bash
/bin/csh
/bin/ksh
/bin/tcsh
/bin/zsh

/bin/zsh という行があるでしょうか。

これはログインシェルに指定できるシェル一覧を表示しています。ここに /bin/zsh が無いと zsh がログインシェルに指定できないので確認してください(普通はちゃんとあります)。

/bin/zsh という行を確認したら、次のコマンドでログインシェルを zsh に変更します。

% chsh -s /bin/zsh

このコマンドは間違えると最悪ログインできなくなってしまうので、間違えないように落ち着いて入力してください。

その後にパスワードを聞かれるので Mac にログインするときのパスワードを入力します。

これでログインシェルが変わりました。

一旦ターミナルを閉じて再度起動してみてください。今度は bash ではなく zsh が起動しているはずです。

確認のために ps を実行してみましょう。

% ps
  PID  TTY            TIME CMD
  229  ttys002    00:00:08 zsh

zsh という行があるので zsh が起動していることが分かります。

設定ファイルを書く

zsh の設定はホームディレクトリの .zshrc というファイルに書きます。

ホームディレクトリというのはユーザーごとに割り当てられたディレクトリ(フォルダ)のことで、/Users/(ユーザー名)/ という場所にあります。僕の場合はユーザー名は mollifier なので、ホームディレクトリは /Users/mollifier/ になります

また、Finder では「Macintosh HD」->「ユーザ」->「(ユーザー名)」と選択すると表示できます。

ではターミナルでホームディレクトリに移動してみましょう。通常は起動時にホームディレクトリにいる状態になっていますが、次のコマンドを打つと確実にホームディレクトリに移動できます。

% cd

それでは .zshrc ファイルを作成します。次のコマンドで作成できるので入力してみましょう。

% touch .zshrc

本当に作成できたかどうかは次のコマンドで分かります。

% ls -a

ずらずらと表示されたと思いますが、その中に .zshrc があることを確認してください。

ただし、こうやってたくさん表示された中から必要なものを目で追いかけて探すのはあまり賢くありません。こんな時は検索するのが常套手段です。

% ls -a | grep zshrc

今度は .zshrc と1行だけ表示されたはずです。こんなふうに入力すればたくさん表示された中から zshrc を含む行だけに絞り込んで表示できるようになります。

文字列を検索するときは grep というコマンドをよく使うのでまた覚えておいてください。

本題に戻ります。zsh の設定ファイルを書きたかったのですよね。

設定ファイルは自分の好きな設定を書けば良いのですが、自分で調べて書いていくのは結構大変なので今回は見本を真似することにします。

1つ目は本当に最低限の設定です。行数が少ないので内容自体は分かりやすいでしょう。そのかわりあまり便利な設定は入っていません。

2つめはもう少し高機能な設定です。zsh を日常的に使おうという人はこちらの方をおすすめします。

この内容をコピーして、さっき作った .zshrc ファイルに貼り付けます。

このとき、CotEditor など GUI のエディタを使う人は注意が必要です。実はホームディレクトリを開いても .zshrc は表示されないのです。.zshrc のようの .(ドット)で始まるファイルは隠しファイルと扱われてしまうからです。

こういうときはアプリケーションメニューの「開く」でファイルを選択するときに「Shift + Command + . (ドット)」を入力してみましょう。これで隠しファイルも表示されるようになるので「ホームディレクトリ」の下の .zshrc ファイルを選びましょう。

こうやってファイルを開いたら、先ほどの見本の内容を貼り付けます。

そのあとはターミナルを再起動すれば設定が反映されます。

または次のコマンドを入力すれば再起動しなくても反映されます。

% source ~/.zshrc

これで設定は完了です。

試しに man zsh と入力してから(Enter を押さずに) Tab を打ってみてください。

% man zsh
zsh          zshcompctl   zshcontrib   zshmodules   zshoptions
zshall       zshbuiltins  zshcompsys   zshexpn      zshzftpsys
zshcalsys    zshcompwid   zshmisc      zshparam     zshzle

zsh の man ページが補完されたでしょうか。こんなふうに zsh は Tab で何でも補完できるので、どんどん Tab を打って試してみてください。

最後に

これで zsh の導入は完了です。

zsh を使うと大量のファイルを一気にコピーするなど、GUI では難しい一括操作ができるようになります。この記事を参考にしてぜひ zsh を使ってみてください。