help-for-help

Emacsには、種々のhelpがある。例えば、あるキー操作が、どのような関数 (Emacs lispの関数)に割り当てられているか、または逆に、ある関数が、どの ようなキー操作に割り当てられているか(バインドされているという)、 もしくは、ある関数がどのような動作をするかなど、これによって各種の情報 を得ることが出来る。これは非常に便利であり、これを憶えきれれば、ほとん どのEmacsの操作を調べることが可能となる。

このhelpは、デフォルト(初期)の状態では、
    C-h
にバインドされている。しかし、多くの人がこのキー設定を変更してしまって いるため、ここでは、もうひとつのhelpの立ち上げ方で説明する。
    M-x help-for-help[RET]
このように打つと、画面最下行に(C-hを使用する場合は、以下の表示 は出ないが、操作は同じである。以下の表示を出したい場合は、C-h C-hとする。)
    A B C F I K L M N S T V W C-c C-d C-n C-w. Type C-h again for more help:
と出る。

ここで、この、Aや、Bというのが、入力できる文字であり、そ れぞれによって説明されるものが異なる。また、さらにC-hを入力する と、より詳しい説明がなされるが、C-hを他の関数にバインドしてしまっ ている人は、これは使用できない。ここで、それぞれのキーに対応して説明さ れるもののうちで、特に有用であると思われるものをあげておく。なお、これ らの文字は説明では大文字で説明してあるが、小文字でも構わない。

A
command-apropos
コマンド名の一部を入れると、それをコマンド名内に含むコマンドの一覧と、 それらの簡単な説明が出る。具体的には、Aを打つと、
    Command apropos (regexp):
と出るので、ここで、知りたいコマンド名、もしくはコマンド名の一部を入れ る。例えば、漢字コード関係のコマンドを知りたければ、ここにkanji[RET] と入れる。すると、ウィンドウが二つになって、Fig-4 のような画面が出る。

ここで、change-kanji-expected-codeのように、先頭から書いてある ものがコマンド名である。また、その次に、C-x C-k eなどと書いてあ るものは、このコマンドがこのキーにバインドされていることを表す。その次 の行のFunction:以降が、このコマンドの簡単な説明である。











[--]E_:-----Mule: test.c      8:20pm  (C)--All---------------------------
roma-kanji-paragraph     (not bound to any keys)
 Function: roma-kanji paragraph at or after point.
roma-kanji-region       (not bound to any keys)
roma-kanji-sentence      (not bound to any keys)
 Function: roma-kanji sentence at or after point.
roma-kanji-word        (not bound to any keys)
 Function: roma-kanji word at or after point.


[--]E_:-----Mule: *Help*       8:20pm  (Fundamental)--All-----------------

Figure 4: ヘルプの例-1

B
describe-bindings
現在バインドされている全てのキーが表示される。 Fig-5のような表示となる。ここで、Local Bindingsのところに書かれているものが、現在のバッファのモードの みで有効なキーバインディングである。また、その下のGlobal Bindingsのところに書かれているものが、モードに関わらず有効なキーバイ ンディングである。











[--]E_:-----Mule: test.c      8:20pm  (C)--All---------------------------
Global Bindings:
key binding
--- -------

C-@ set-mark-command
C-a beginning-of-line
C-b backward-char
C-c mode-specific-command-prefix
C-d delete-char
[--]E_:-----Mule: *Help*       8:20pm  (Fundamental)--All-----------------

Figure 5: ヘルプの例-2

F
describe-function
これはEmacs-Lispの関数の説明をするものである。Fを打つと、
    Describe function:
と出るので、ここに知りたい関数名を入力すると、その関数の説明が出る。例 えば、先の例のfind-fileという関数を入力してやると、Figure 6のような画面が出る。











[--]E_:-----Mule: test.c      8:20pm  (C)--All---------------------------
find-file: an interactive compiled Lisp function.
(find-file FILENAME &optional USER-CODING-SYSTEM)

Edit file FILENAME.
Switch to a buffer visiting file FILENAME,
creating one if none already exists.
A prefix argument enables user to specify the coding-system interactively.

[--]E_:-----Mule: *Help*       8:20pm  (Help View)--L1-All----------------

Figure 6: ヘルプの例-3

K
describe-key
これは、あるキーがどの関数にバインドされているかを調べるものである。 Kを打つと、
    Describe Key:
と出るので、ここで、例えば、C-x C-fと入力してやる (文字通り、c-xなどと打つのではなく、操作する通りに、 コントロールキーとxのキーなどを同時に打つ) すると、先ほどの 関数の例と同じように、Fig-6のような画面が出る。
M
describe-mode
これは、現在どのようなモードの編集を行なっているかを見るものである。例 えば、C言語のプログラムの編集を行なっているのであれば、 Figure 7のような画面が出る。ここで、最初の1行が現 在のモードである。次の数行(この 例だと6行)が、このモードに関する説明である。そして、それ以降が、そのモー ドにおけるキーのバインディング状況である。これは基本的にBを打った 時に表示されるFigure 5に書かれていたLocal bindingsと同じものである。











[--]E_:-----Mule: test.c      8:20pm  (C)--All---------------------------
C mode:
Major mode for editing K&R and ANSI C code.
To submit a problem report, enter `C-c C-b' from a
c-mode buffer. This automatically sets up a mail buffer with version
information already added. You just need to add a description of the
problem, including a reproducible test case and send the message.

To see what version of cc-mode you are running, enter `M-x c-version'.

[--]E_:-----Mule: *Help*       8:20pm  (Help View)--L1-All----------------

Figure 7: ヘルプの例-4



前[リドゥ]  次[オンラインマニュアル]
戻る