[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
Emacsには、C-hのたった1文字で呼び出せる 高度なヘルプ機能があります。 C-hは、説明文表示コマンドのためだけに使われるプレフィックスキーです。 C-hのあとに打つ文字(列)を ヘルプオプション(help options)と呼びます。 C-hもヘルプオプションの1つであって、 C-hの使い方を調べることができます。 途中で取り消すには、C-gを打ちます。 ファンクションキーF1は、C-hと等価です。
C-h C-h(help-for-help
)は、 利用可能なヘルプオプションの一覧を簡素な説明とともに表示します。 ヘルプオプションを打つまでは、 SPCやDELで一覧をスクロールできます。
C-hやF1は、他のさまざまな状況でも『ヘルプ』を意味します。 たとえば、query-replace
の実行中には、 今一致している文字列に対して適用可能な操作を説明します。 プレフィックスキーに続けてC-hやF1を打つと、 そのプレフィックスキーに続けることができるキーの一覧を表示します。 (C-hに独自の意味を定義しているプレフィックスキーもあり、 そのような場合にはC-hを使えない。 しかし、F1はすべてのプレフィックスキーで使える。)
ほとんどのヘルプバッファでは、特別なメジャーモードである ヘルプ(help)モードを使います。 ヘルプ(help)モードでは、 SPCとDELで画面を簡単にスクロールできます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
定義されているヘルプコマンドを以下にまとめておきます。
apropos-command
)。describe-bindings
)。describe-key-briefly
)。 ここで、cは『character』(文字)のcのこと。 keyのさらに詳しい情報を得るには、C-h kを使う。describe-function
)。 コマンドはLisp関数なので、コマンド名も使える。info
)。 infoでは、完全なEmacsマニュアルをオンラインで見ることができる。describe-key
)。view-lossage
)。describe-mode
)。view-emacs-news
)。finder-by-keyword
)。describe-syntax
)。 see 節 AE.5 構文テーブル。help-with-tutorial
)。describe-variable
)。where-is
)。describe-coding-system
)。describe-input-method
)。describe-language-environment
)。Info-goto-emacs-command-node
)。Info-goto-emacs-key-command-node
)。info-lookup-symbol
)。[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
C-hのもっとも基本的なオプションは、 C-h c(describe-key-briefly
)と C-h k(describe-key
)です。 C-h c keyは、 keyにバインドしてあるコマンド名をエコー領域に表示します。 たとえば、C-h c C-fと打てば`forward-char'と表示されます。 コマンド名はそのコマンドが何をするかを表すように選んでありますから、 キーkeyが何をするかをちょっと調べたい場合に、よい方法です。
C-h k keyも同様ですが、より多くの情報を表示します。 つまり、コマンドの名前だけでなく、説明文も表示します。 その内容はエコー領域に表示するには多すぎるため、 ウィンドウに表示します。
C-h cやC-h kは、ファンクションキーやマウスイベントも含めた、 あらゆるキー列に適用できます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
C-h f(describe-function
)は、 ミニバッファでLisp関数の名前を読み取り、 その関数の説明文字列をウィンドウに表示します。 コマンドはLisp関数ですから、 名前を知っているコマンドであれば、 その説明文を得ることができます。 たとえば、
C-h f auto-fill-mode RET |
とすると、auto-fill-mode
の説明文字列を表示できます。 どのキーにもバインドしていない (つまり、通常M-xで起動する)コマンドの説明文字列を見るには、 この方法しかありません。
C-h fはまた、 Lispプログラムの中で使おうと考えているLisp関数に対しても有益です。 たとえば、式(make-vector len)
を書いたとしましょう。 make-vector
を正しく使っているかどうか調べたいときには、 C-h f make-vector RETと打ちます。 C-h fは、コマンド名だけでなく、すべての関数名に適用できるので、 普段M-xで使えている省略形がC-h fでは使えないかもしれません。 ある省略形がコマンド名としては一意であったとしても、 他の関数名を含めてみると一意ではない場合もあります。
ミニバッファでRETだけを打ってミニバッファが空の場合、 C-h fに与えられる関数名にはデフォルト値があります。 デフォルト値は、バッファ内のポイント周辺でもっとも内側のLisp式で 呼び出される関数ですが、それが定義された正しいLisp関数の名前で ある場合に限ります。 たとえば、`(make-vector (car x)'というテキストの直後にポイントがあると、 ポイントを含むもっとも内側のリストは`(make-vector'から始まる部分なので、 デフォルトは関数make-vector
です。
C-h fは、関数名の綴りが正しことを 単に確認するためだけにも役立ちます。 C-h fがバッファ内の名前をデフォルトとして表示すれば、 その名前はLisp関数として定義されているはずです。 これだけを確認したいのであれば、 C-gを打ってC-h fコマンドを取り消して、編集を続けます。
C-h w command RETは、 どのキーをcommandにバインドしてあるかを表示します。 キーの一覧をエコー領域に表示します。 どのキーにも割り当てられていないと表示された場合は、 そのコマンドはM-xで起動する必要があります。 C-h wはコマンドwhere-is
を実行します。
C-h v(describe-variable
)はC-h fに似ていますが、 Lisp関数ではなくLisp変数を説明する点が異なります。 デフォルトはポイント周辺またはポイントの直前のLispシンボルですが、 既知のLisp変数に限ります。 See 節 AE.2 変数。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
より洗練された質問方法としては、『ファイルを扱うコマンドは?』と いうのがあります。 このように質問するには、C-h a file RETと打ちます。 すると、copy-file
やfind-file
といった、 `file'を名前に含むすべてのコマンドの一覧が表示されます。 各コマンドには、使い方の簡単な説明や そのコマンドを起動するキーが表示されます。 たとえば、find-file
を起動するにはC-x C-fと打つ、 といった具合です。 C-h aのaは「Apropos」(「適切な」の意味)を表していて、 C-h aはコマンドapropos-command
を実行します。 このコマンドは、通常、コマンド(対話的な関数)のみを調べます。 前置引数を指定すれば、非対話的な関数も調べます。
C-h aは指定した文字列を名前に含む関数しか調べませんので、 文字列の指定には工夫が必要です。 後向きに文字をキルするコマンドを探そうとして、 C-h a kill-backwards RETで 何も表示されなくてもあきらめないでください。 killのみ、あるいはbackwardsのみ、 もしくはbackのみを試して、続けてください。 柔軟性を増すために、引数として正規表現も使えます (see 節 K.5 正規表現の構文 (2004/03/26))。
以下に、C-h aに指定する引数のうち、 Emacsコマンドの多くの種類を網羅するものをあげておきます。 というのは、Emacsコマンドの標準の命名法には強い慣行があるからです。 命名法の慣行を理解してもらえば、 適切な(apropos
)文字列を拾い出す技法の向上の手助けにもなるでしょう。
char、line、word、sentence、paragraph、region、page、sexp、list、defun、 rect、buffer、frame、window、face、file、dir、register、mode、beginning、end、 forward、backward、next、previous、up、down、search、goto、kill、delete、 mark、insert、yank、fill、indent、case、change、set、what、list、find、 view、describe、default。
正規表現に一致するすべてのユーザー変数を表示するには、 コマンドM-x apropos-variableを使います。 このコマンドは、デフォルトでは、ユーザー変数とカスタマイズオプションだけを 表示します。 すべての変数を調べるには、前置引数を指定します。
コマンドとして定義されているものだけでなく、 正規表現に一致するすべてのLispシンボルを表示するには、 C-h aのかわりにM-x aproposを使います。 このコマンドは、デフォルトでは、キーバインドを調べません。 キーバインドを調べるには、前置引数を指定します。
apropos-documentation
コマンドはapropos
に似ていますが、 指定した正規表現に一致するシンボル名だけでなく、 説明文字列も探索する点が異なります。
apropos-value
コマンドはapropos
に似ていますが、 指定した正規表現に一致するシンボルの値を探す点が異なります。 このコマンドは、デフォルトでは、関数定義や属性リストを調べません。 それらも調べるには、前置引数を指定します。
変数apropos-do-all
がnil
以外ならば、 上に述べたコマンドはすべて、前置引数を指定したものとして動作します。
アプロポス(apropos)バッファに表示された関数定義、 変数、属性リストについて詳しく知りたいときには、 Mouse-2ボタンでクリックするか、 その箇所へ移動してRETを打ちます。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
C-h pコマンドで、 標準Emacs Lispライブラリをトピックのキーワードで検索できます。 利用可能なキーワードの一部を以下に示します。
abbrev --- 略語操作、短縮入力、マクロ。
bib --- 参考、参照プロセッサ支援
|
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
コマンドC-h L(describe-language-environment
)を使うと、 特定の言語環境向けに、どのような支援があるかを把握できます。 See 節 R.3 言語環境。 このコマンドは、今の言語環境がどの言語向けなのかを示し、 一緒に使われる文字集合、コーディングシステム、入力方式も表示します。 また、字体を例示するためのサンプルテキストもいくつか表示します。
コマンドC-h h(view-hello-file
)は、 ファイル`etc/HELLO'を表示します。 このファイルには、いろいろな国の言葉で書いた『hello』を収めてあります。
コマンドC-h I(describe-input-method
)は、 指定した入力方式、あるいは、デフォルトとして 今使っている入力方式についての情報を表示します。 See 節 R.4 入力方式。
コマンドC-h C(describe-coding-system
)は、 指定したコーディングシステム、あるいは、デフォルトとして 今使っているコーディングシステムについての情報を表示します。 See 節 R.7 コーディングシステム。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
ヘルプバッファには、閲覧(view)モード(see 節 N.10 その他のファイル操作)の コマンドに加えて、独自の特別なコマンドもいくつかあります。
説明文に現れるコマンド名(see 節 F. 名前でコマンドを実行する方法 (2004/01/15))や変数名(see 節 AE.2 変数)は 通常、引用符('
)で囲まれています。 その名前をMouse-2でクリックしたり、あるいは、 そこへポイントを移動してRETを打つと、 そのコマンドや変数の説明文字列を表示できます。 もとの場所に戻るにはC-c C-bを使います。
ヘルプテキスト内の相互参照にポイントを移動する便利なコマンドがあります。 TAB(help-next-ref
)は、 ポイントをつぎの相互参照箇所へ進めます。 ポイントをまえの相互参照箇所へ戻すには S-TAB(help-previous-ref
)を使います。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |
C-h i(info
)はinfoプログラムを実行します。 infoは構造化されたドキュメントファイルを閲覧するプログラムです。 Emacsの完全なマニュアルもinfoで読むことができます。 将来的には、GNUシステムのすべてのドキュメントが読めるようになるでしょう。 infoの使い方についてのチュートリアルを起動するには、 infoに入ってからhと打ちます。
数引数を指定すると、C-h iはドキュメントファイルの名前を聞いてきます。 こうすれば、トップレベルのinfoメニューに記載されていない ファイルでも閲覧できます。
infoを介してEmacsドキュメントを参照するための 特別なヘルプコマンドが2つあります。 C-h C-f function RETは、 infoに入ってただちにEmacsの関数functionのドキュメントに移動します。 C-h C-k keyは、 infoに入ってただちにキーkeyのドキュメントに移動します。 これら2つのキーは、それぞれ、 Info-goto-emacs-command-node
、 Info-goto-emacs-key-command-node
を実行します。
プログラム言語のinfo版のマニュアルがあれば、 プログラムの編集中にコマンドC-h C-iを使って、 マニュアルドキュメントの シンボル(キーワード、関数、変数)に関する箇所を参照できます。 コマンドの細かい動作は、メジャーモードに依存します。
予期しなかったことが起きたり、 入力したコマンドがわからなくなってしまったときは、 C-h l(view-lossage
)を使ってください。 C-h lは、それまでに打鍵した最後の100個のコマンド文字を表示します。 知らないコマンドが表示されたら、C-h cでその機能を知ることができます。
Emacsには数多くのメジャーモードがあり、各メジャーモードでは、 いくつかのキーを再定義し、編集動作も少々変更しています。 C-h m(describe-mode
)は、 使用中のメジャーモードについての説明文を表示します。 これには、通常、モード内で変更してある すべてのコマンドについての記述があります。
C-h b(describe-bindings
)と C-h s(describe-syntax
)は、 Emacsの現在のモードに関するその他の情報を与えてくれます。 C-h bは、現在有効なすべてのキーバインドの一覧を表示します。 マイナモードで定義されているローカルバインディングから始めて、 現在のメジャーモードで定義されているローカルバインディング、 最後にグローバルバインディングを表示します (see 節 AE.3 キーバインディングのカスタマイズ)。 C-h sは、各文字の構文の説明を付けて 構文テーブルの内容を表示します(see 節 AE.5 構文テーブル)。
プレフィックスキーに続けてC-hを打てば、 特定のプレフィックスキーについて同様な一覧を表示できます。 (この方法では表示できないプレフィックスキーも存在する。 それらのキーでは、C-hに対しては独自のバインディングがある。 ESCは、そのようなものの1つ。 ESC C-hは、実際にはC-M-hであり、 関数定義(defun)をマークする。)
C-hの他のオプションは、 有益な情報を収めたさまざまなファイルを表示します。 C-h C-wは、 GNU Emacsがまったく無保証であることに関する全詳細を表示します。 C-h n(view-emacs-news
)は、 ファイル`emacs/etc/NEWS'を表示します。 このファイルには、Emacsの変更に関する記述を時間順に収めてあります。 C-h F(view-emacs-FAQ
)は、 Emacsの「よくある質問集」を表示します。 C-h t(help-with-tutorial
)は、 「操作しながらEmacsを学ぶ」チュートリアルを表示します。 C-h C-c(describe-copying
)は、 ファイル`emacs/etc/COPYING'を表示します。 このファイルには、Emacsを配布する場合に従うべき条件を記述してあります。 C-h C-d(describe-distribution
)は、 ファイル`emacs/etc/DISTRIB'を表示します。 このファイルには、Emacsの最新版の注文方法を述べてあります。 C-h C-p(describe-project
)は、 GNUプロジェクトに関する一般情報を表示します。
[ << ] | [ >> ] | [表紙] | [目次] | [索引] | [検索] [上端 / 下端] [?] |