読者です 読者をやめる 読者になる 読者になる

zshのmanページが15個に分かれてるので解説してみる

zsh

zshは高機能なだけあって、manページも15個に分かれている。多すぎてわけ分かんなくなってきたので、それぞれのページの内容をざっと解説してみる。

大事なページ

まずは、よく読む、または読んでおいた方が良いと思うページから。

zsh
zshの概要。一番最初に書いてある、他のmanページの概要説明が重要。あとはコマンドラインオプション、初期化ファイル(.zshrc とか)を読み込む処理など。
zshmisc
その他の雑多なこと。なんだけど、zshの文法的な説明があったり、密かに重要。内容は大体こんな感じ。
  • SIMPLE COMMANDS & PIPELINES: コマンドライン処理の基本
  • COMPLEX COMMANDS: 複合コマンド。for, while などの制御構文も含む。
  • REDIRECTION: リダイレクト
  • JOBS: ジョブコントロール
  • CONDITIONAL EXPRESSIONS: 評価式 ( [ -f $HOME/.zshrc ]-f など)
  • PROMPT EXPANSION: プロンプトで使える特殊文字 ( %~ など)
zshoptions
setopt で設定するオプションの一覧。Changing Directories, Completion など、大まかな機能ごとに分かれている。
zshbuiltins
zsh組み込みコマンドのページ。alias, cd などの説明。普段よく使うコマンドでも意外なオプションがあったりする。
zshzle
コマンドライン編集についてのページ。エディタコマンドがやたらいっぱいある。あと、自分で新しくコマンドを作る場合もここを読む。

まあまあ大事なページ

次に、それなりに大事、または思わぬ発見があるかもしれないページ。

zshroadmap
zshマニュアルの概要。zshの機能の概要と、その詳しい説明があるmanページの紹介。
zshexpn
展開、置換について。変数や履歴の展開、置換処理に関するページ。主なものは以下。
  • HISTORY EXPANSION: ヒストリ展開
  • PROCESS SUBSTITUTION: プロセス置換
  • PARAMETER EXPANSION: パラメータ展開 ( ${name:-word} など)
  • FILENAME GENERATION: ファイル名作成 ( *, x~y など)
zshparam
zshで使う変数について。変数の使い方に関する文法的な説明、配列の使い方など。あとはzsh組み込み変数、環境変数
zshcontrib
zshユーザーからの投稿コーナー。zshには本体とは別にユーザーからの便利なユーティリティ、関数が追加されている。そいつらのマニュアルページ。

zshマニアからの投稿というだけあって内容が細かい。標準の機能で物足りなくなってきたらここを読むといいだろう。

ちなみに、よく見かける history-search-end の説明もここにある。

zshall
メタmanページ。man zsh, man zshroadmap をあわせたもの (に見える)。

あんまり大事じゃないページ

最後は、何かマニアック過ぎてあんまり読まなくていいと思うページ。

zshcompwid
補完用ウィジェットについて。何かよく分からない。補完ファイルを自分で書こうという漢向けのページ。
zshcompsys
補完システム。zshは補完の仕組みとして2つ持ってるんだけど、そのうち新しい方。
zshcompctl
で、こっちが古い方の補完。
zshmodules
モジュールについて。モジュールってよく分からなかったので、manの最初の部分を超訳してみた。

zshの必須でない機能はモジュールという単位に分割され、シェルのコア部分とは分離されている。それぞれのモジュールはビルド時にリンクされていることもあるし、シェルが動いている時に動的にリンク可能なものもある。

モジュールの例として、 zsh/zftp, zsh/zle などがある。

zshcalsys
zshカレンダーシステム。いらんだろ。
zshtcpsys
zsh tcpシステム。こいつを使うと、zshからTCPで通信できる。意地でもzsh使いたい人向けか? 普通はwget, netcat使えばいいと思う。
zshzftpsys
zshftpクライアントにする方法について。ローカルファイルと同じような感じでリモートファイルが扱えるようになる。使ったことないけど便利かもしれない。

その他、Web上のドキュメント

比較的分かりやすい zshユーザーズガイド。読み物っぽくなっていて、具体例も割と書いてある。

たぶん info zsh と内容は同じ。

2009/04/30 追記

15個じゃなくて17個だった。