[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

6. ヘルプ機能

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs&node=Help"
"emacs/ヘルプ機能"へのコメント(無し)

Emacsには、C-hのたった1文字で呼び出せる 高度なヘルプ機能があります。 C-hは、説明文表示コマンドのためだけに使われるプレフィックスキーです。 C-hのあとに打つ文字(列)を ヘルプオプション(help options)と呼びます。 C-hもヘルプオプションの1つであって、 C-hの使い方を調べることができます。 途中で取り消すには、C-gを打ちます。 ファンクションキーF1は、C-hと等価です。

C-h C-hhelp-for-help)は、 利用可能なヘルプオプションの一覧を簡素な説明とともに表示します。 ヘルプオプションを打つまでは、 SPCDELで一覧をスクロールできます。

C-hF1は、他のさまざまな状況でも『ヘルプ』を意味します。 たとえば、query-replaceの実行中には、 今一致している文字列に対して適用可能な操作を説明します。 プレフィックスキーに続けてC-hF1を打つと、 そのプレフィックスキーに続けることができるキーの一覧を表示します。 (C-hに独自の意味を定義しているプレフィックスキーもあり、 そのような場合にはC-hを使えない。 しかし、F1はすべてのプレフィックスキーで使える。)

ほとんどのヘルプバッファでは、特別なメジャーモードである ヘルプ(help)モードを使います。 ヘルプ(help)モードでは、 SPCDELで画面を簡単にスクロールできます。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

6.1 ヘルプのまとめ

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs&node=Help%20Summary"
"emacs/ヘルプのまとめ"へのコメント(無し)

定義されているヘルプコマンドを以下にまとめておきます。

C-h a regexp RET
正規表現regexpに一致する名前を持つコマンドの一覧を表示する (apropos-command)。
C-h b
現在有効なすべてのキーバインドの一覧を、 マイナモードのバインディング、 メジャーモードのバインディング、 グローバルバインディングの順に表示する (describe-bindings)。
C-h c key
keyが実行するコマンドの名前を表示する(describe-key-briefly)。 ここで、cは『character』(文字)のcのこと。 keyのさらに詳しい情報を得るには、C-h kを使う。
C-h f function RET
Lisp関数functionの説明文を表示する (describe-function)。 コマンドはLisp関数なので、コマンド名も使える。
C-h h
さまざまな文字集合の例文を例示する`hello'ファイルを表示する。
C-h i
ドキュメントファイルを閲覧するプログラム、 infoを起動する(info)。 infoでは、完全なEmacsマニュアルをオンラインで見ることができる。
C-h k key
keyが実行するコマンドの名前と説明文を表示する (describe-key)。
C-h l
これまでに打鍵した最後の100文字を表示する(view-lossage)。
C-h m
現在のメジャーモードの説明文を表示する (describe-mode)。
C-h n
Emacsの変更点に関する説明を最新のものから順に表示する (view-emacs-news)。
C-h p
トピックのキーワードで、一致するパッケージを探す (finder-by-keyword)。
C-h s
現在の構文テーブルとその意味の説明を表示する (describe-syntax)。 see 節 28.6 構文テーブル
C-h t
Emacsの対話型のチュートリアルに入る (help-with-tutorial)。
C-h v var RET
Lisp変数varの説明文を表示する (describe-variable)。
C-h w command RET
コマンドcommandを実行するキーを表示する (where-is)。
C-h C coding RET
コーディングシステムcodingを説明する (describe-coding-system)。
C-h C RET
現在使用中のコーディングシステムを説明する。
C-h I method RET
入力方式を説明する(describe-input-method)。
C-h L language-env RET
言語環境language-envにおいて使われる、 文字集合、コーディングシステム、入力方式を説明する (describe-language-environment)。
C-h C-c
GNU Emacsのコピーライトを表示する。
C-h C-d
GNU Emacsの新版の入手方法に関する情報を表示する。
C-h C-f function RET
infoに入って、Emacsの関数functionを説明しているノードに移動する (Info-goto-emacs-command-node)。
C-h C-k key
infoに入って、キー列keyを説明しているノードに移動する (Info-goto-emacs-key-command-node)。
C-h C-p
GNUプロジェクトに関する情報を表示する。
C-h TAB symbol RET
編集中のプログラム言語に応じて、 シンボルsymbolに関するinfoドキュメントを表示する (info-lookup-symbol)。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

6.2 キーに関する説明

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs&node=Key%20Help"
"emacs/キーに関する説明"へのコメント(無し)

C-hのもっとも基本的なオプションは、 C-h cdescribe-key-briefly)と C-h kdescribe-key)です。 C-h c keyは、 keyにバインドしてあるコマンド名をエコー領域に表示します。 たとえば、C-h c C-fと打てば`forward-char'と表示されます。 コマンド名はそのコマンドが何をするかを表すように選んでありますから、 キーkeyが何をするかをちょっと調べたい場合に、よい方法です。

C-h k keyも同様ですが、より多くの情報を表示します。 つまり、コマンドの名前だけでなく、説明文も表示します。 その内容はエコー領域に表示するには多すぎるため、 ウィンドウに表示します。

C-h cC-h kは、ファンクションキーやマウスイベントも含めた、 あらゆるキー列に適用できます。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

6.3 コマンド名や変数名によるヘルプ表示

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs&node=Name%20Help"
"emacs/コマンド名や変数名によるヘルプ表示"へのコメント(無し)

C-h fdescribe-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 vdescribe-variable)はC-h fに似ていますが、 Lisp関数ではなくLisp変数を説明する点が異なります。 デフォルトはポイント周辺またはポイントの直前のLispシンボルですが、 既知のLisp変数に限ります。 See 節 28.2 変数



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

6.4 アプロポス

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs&node=Apropos"
"emacs/アプロポス"へのコメント(無し)

より洗練された質問方法としては、『ファイルを扱うコマンドは?』と いうのがあります。 このように質問するには、C-h a file RETと打ちます。 すると、copy-filefind-fileといった、 `file'を名前に含むすべてのコマンドの一覧が表示されます。 各コマンドには、使い方の簡単な説明や そのコマンドを起動するキーが表示されます。 たとえば、find-fileを起動するにはC-x C-fと打つ、 といった具合です。 C-h aaは「Apropos」(「適切な」の意味)を表していて、 C-h aはコマンドapropos-commandを実行します。 このコマンドは、通常、コマンド(対話的な関数)のみを調べます。 前置引数を指定すれば、非対話的な関数も調べます。

C-h aは指定した文字列を名前に含む関数しか調べませんので、 文字列の指定には工夫が必要です。 後向きに文字をキルするコマンドを探そうとして、 C-h a kill-backwards RETで 何も表示されなくてもあきらめないでください。 killのみ、あるいはbackwardsのみ、 もしくはbackのみを試して、続けてください。 柔軟性を増すために、引数として正規表現も使えます (see 節 10.5 正規表現の構文)。

以下に、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-allnil以外ならば、 上に述べたコマンドはすべて、前置引数を指定したものとして動作します。

アプロポス(apropos)バッファに表示された関数定義、 変数、属性リストについて詳しく知りたいときには、 Mouse-2ボタンでクリックするか、 その箇所へ移動してRETを打ちます。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

6.5 Lispライブラリに対するキーワード探索

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs&node=Library%20Keywords"
"emacs/Lispライブラリに対するキーワード探索"へのコメント(無し)

C-h pコマンドで、 標準Emacs Lispライブラリをトピックのキーワードで検索できます。 利用可能なキーワードの一部を以下に示します。

 
abbrev --- 略語操作、短縮入力、マクロ。
bib --- 参考、参照プロセッサ支援bib。
c --- C言語あるいはC++支援。
calendar --- 日付および時間管理支援。
comm --- 通信、ネットワーク、ファイルのリモートアクセス。
data --- データファイルの編集支援。
docs --- Emacsドキュメントに関する支援。
emulations --- 他のエディタのエミュレーション。
extensions --- Emacs Lisp言語の拡張。
faces --- フェイス(フォントや表示色、see 節 15.13 複数タイプフェイスの利用)に関する支援。
frames --- Emacsフレームやウィンドウシステムに対する支援。
games --- ゲーム、ジョーク、娯楽。
hardware --- 外部ハードウェアとのインターフェイス支援。
help --- オンラインヘルプシステム支援。
hypermedia --- テキストあるいは他メディア内でのリンク支援。
i18n --- 国際化、代替文字集合支援。
internal --- Emacs内部コード、構築手順、デフォルト。
languages --- プログラム言語編集用の特殊モード。
lisp --- Lisp利用支援(Emacs Lispも含む)。
local --- サイトにローカルなライブラリ。
maint --- Emacs開発グループ向けの管理用。
mail --- 電子メイル操作用のモード。
matching --- 探索、一致。
news --- ネットニュースの購読、投稿支援。
non-text --- 非テキストファイル編集支援。
oop --- オブジェクト指向プログラミング支援。
outlines --- 階層アウトライン。
processes --- プロセス、サブシェル、コンパイル、ジョブ制御支援。
terminals --- 端末タイプ支援。
tex --- TeXによる文書整形支援。
tools --- プログラミングツール。
unix --- UNIX機能のフロントエンド/アシスタントあるいはエミュレーション。
vms --- VMS支援コード。
wp --- ワープロ。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

6.6 多言語支援に関するヘルプ

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs&node=Language%20Help"
"emacs/多言語支援に関するヘルプ"へのコメント(無し)

コマンドC-h Ldescribe-language-environment)を使うと、 特定の言語環境向けに、どのような支援があるかを把握できます。 See 節 16.3 言語環境。 このコマンドは、今の言語環境がどの言語向けなのかを示し、 一緒に使われる文字集合、コーディングシステム、入力方式も表示します。 また、字体を例示するためのサンプルテキストもいくつか表示します。

コマンドC-h hview-hello-file)は、 ファイル`etc/HELLO'を表示します。 このファイルには、いろいろな国の言葉で書いた『hello』を収めてあります。

コマンドC-h Idescribe-input-method)は、 指定した入力方式、あるいは、デフォルトとして 今使っている入力方式についての情報を表示します。 See 節 16.4 入力方式

コマンドC-h Cdescribe-coding-system)は、 指定したコーディングシステム、あるいは、デフォルトとして 今使っているコーディングシステムについての情報を表示します。 See 節 16.7 コーディングシステム



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

6.7 ヘルプモードのコマンド

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs&node=Help%20Mode"
"emacs/ヘルプモードのコマンド"へのコメント(無し)

ヘルプバッファには、閲覧(view)モード(see 節 12.10 その他のファイル操作)の コマンドに加えて、独自の特別なコマンドもいくつかあります。

SPC
前向きにスクロールする。
DEL
後向きにスクロールする。
RET
ポイント位置の相互参照を辿る。
TAB
つぎの相互参照へ進む。
S-TAB
まえの相互参照へ戻る。
Mouse-2
クリックした相互参照を辿る。

説明文に現れるコマンド名(see 節 5. 名前でコマンドを実行する方法)や変数名(see 節 28.2 変数)は 通常、引用符(')で囲まれています。 その名前をMouse-2でクリックしたり、あるいは、 そこへポイントを移動してRETを打つと、 そのコマンドや変数の説明文字列を表示できます。 もとの場所に戻るにはC-c C-bを使います。

ヘルプテキスト内の相互参照にポイントを移動する便利なコマンドがあります。 TABhelp-next-ref)は、 ポイントをつぎの相互参照箇所へ進めます。 ポイントをまえの相互参照箇所へ戻すには S-TAB(help-previous-ref)を使います。



[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [表紙] [目次] [索引] [検索] [上端 / 下端] [?]

6.8 その他のヘルプコマンド

URL="https://bookshelf.jp/cgi-bin/goto.cgi?file=emacs&node=Misc%20Help"
"emacs/その他のヘルプコマンド"へのコメント(無し)

C-h iinfo)は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-nodeInfo-goto-emacs-key-command-nodeを実行します。

プログラム言語のinfo版のマニュアルがあれば、 プログラムの編集中にコマンドC-h C-iを使って、 マニュアルドキュメントの シンボル(キーワード、関数、変数)に関する箇所を参照できます。 コマンドの細かい動作は、メジャーモードに依存します。

予期しなかったことが起きたり、 入力したコマンドがわからなくなってしまったときは、 C-h lview-lossage)を使ってください。 C-h lは、それまでに打鍵した最後の100個のコマンド文字を表示します。 知らないコマンドが表示されたら、C-h cでその機能を知ることができます。

Emacsには数多くのメジャーモードがあり、各メジャーモードでは、 いくつかのキーを再定義し、編集動作も少々変更しています。 C-h mdescribe-mode)は、 使用中のメジャーモードについての説明文を表示します。 これには、通常、モード内で変更してある すべてのコマンドについての記述があります。

C-h bdescribe-bindings)と C-h sdescribe-syntax)は、 Emacsの現在のモードに関するその他の情報を与えてくれます。 C-h bは、現在有効なすべてのキーバインドの一覧を表示します。 マイナモードで定義されているローカルバインディングから始めて、 現在のメジャーモードで定義されているローカルバインディング、 最後にグローバルバインディングを表示します (see 節 28.4 キーバインディングのカスタマイズ)。 C-h sは、各文字の構文の説明を付けて 構文テーブルの内容を表示します(see 節 28.6 構文テーブル)。

プレフィックスキーに続けてC-hを打てば、 特定のプレフィックスキーについて同様な一覧を表示できます。 (この方法では表示できないプレフィックスキーも存在する。 それらのキーでは、C-hに対しては独自のバインディングがある。 ESCは、そのようなものの1つ。 ESC C-hは、実際にはC-M-hであり、 関数定義(defun)をマークする。)

C-hの他のオプションは、 有益な情報を収めたさまざまなファイルを表示します。 C-h C-wは、 GNU Emacsがまったく無保証であることに関する全詳細を表示します。 C-h nview-emacs-news)は、 ファイル`emacs/etc/NEWS'を表示します。 このファイルには、Emacsの変更に関する記述を時間順に収めてあります。 C-h Fview-emacs-FAQ)は、 Emacsの「よくある質問集」を表示します。 C-h thelp-with-tutorial)は、 「操作しながらEmacsを学ぶ」チュートリアルを表示します。 C-h C-cdescribe-copying)は、 ファイル`emacs/etc/COPYING'を表示します。 このファイルには、Emacsを配布する場合に従うべき条件を記述してあります。 C-h C-ddescribe-distribution)は、 ファイル`emacs/etc/DISTRIB'を表示します。 このファイルには、Emacsの最新版の注文方法を述べてあります。 C-h C-pdescribe-project)は、 GNUプロジェクトに関する一般情報を表示します。


[ << ] [ >> ]           [表紙] [目次] [索引] [検索] [上端 / 下端] [?]