zshのmanページを読んで解説しようという企画の2回目です。manページを読んで大事なところを紹介したり解説したりします。
今回は、man zshroadmap(1)
を読みます。ここにはzshの代表的な機能の紹介と、詳細を知りたいときにどのmanページを読めばよいのかが書かれています。zshを使い始めたけど何が便利なのかが分からないという人は、このページをとっかかりにしてよさそうな機能を探してみるとはかどるでしょう。
それでは、さっそく読んでいきましょう。
WHEN THE SHELL STARTS(シェルの起動処理)
zshは起動時に色々なファイルを読み込みます。これらのファイルは設定をカスタマイズするためにあります。man zsh(1)
の「Startup/Shutdown Files」の節に詳細が書いてあります。
INTERACTIVE USE(対話的な使いかた)
シェルを対話的に操作するためには、ZLEと呼ばれるzsh組み込みのコマンドラインエディタを使用します。これについてはman zshzle(1)
に詳細が書かれています。
過去に入力した行の内容を取り出すために、履歴機能があります。ただし、zshは他のシェルと違って、ユーザーがシェル変数に値を設定しないかぎり履歴を保存しません。これらの詳細についてはman zshparam(1)
のHISTFILE, HISTSIZE and SAVEHISTを参照してください。
Completion(補完)
zshも含めて多くのシェルには補完機能があって、一部分を入力しただけでシェルが残りの部分を入力してくれます。zshの補完機能はプログラムによって拡張できます。拡張機能の詳細についてはman zshcompsys(1)
を参照してください。
Extending the line editor(コマンドライン編集機能を拡張する)
zshのコマンドライン編集機能はシェル関数によって拡張できます。実際、zshには便利な関数がすでに含まれています。詳細についてはman zshcontrib(1)
のZLE Functionsを参照してください。
OPTIONS(オプション)
zshにはシェルの動作を変えるためのオプションが大量にあります。
それらを理解するためには完全なドキュメントを読むのが良い方法です。
man zshoptions(1)
を読んでください。
PATTERN MATCHING(パターンマッチ)
zshには、ファイル名にマッチさせるためのさまざまなパターンが用意されています。例えば**
(任意の階層のサブディレクトリにマッチする)、~
、^
(除外するパターンを指定する)などがあります。詳細についてはman zshexpn(1)
のFilename Generationを参照してください。
GENERAL COMMENTS ON SYNTAX(構文について)
zshの基本的な構文についてはman zshmisc(1)
のShell Grammarの節に書いてあります。
PROGRAMMING(プログラミング)
zshを拡張するための一番便利な方法は、zshの関数を書いてそれをautoloadできるようにすることです。関数についてはman zshmisc(1)
のFunctionsの節に詳細が書いてあります。
最後に
今回はzshroadmap(1)を読みました。紹介ページなので難しい説明もなくて、分量も少なめです。ざっと読んでみて知らない機能があったら試してみると良いと思います!