Emacs

Emacsのヘルプを使いこなす!

更新日:

Emacsは非常に多機能ですので、すべての機能やコマンドについて覚えておくことは不可能です。そこでEmacsを使いこなすうえで重要になってくるのがヘルプコマンドです。調べたいことを素早く検索できるようヘルプコマンドを使いこなせるようにしましょう。

ヘルプコマンドの基礎知識

EmacsのヘルプコマンドはすべてプレフィックスキーC-hまたは等価なファンクションキー<F1>で始まります。C-hが他の用途に使われている場合は<F1>を使うことになります。例えばKEYが実行するコマンドのドキュメントを表示するヘルプコマンドは次のいずれでも実行できます。

C-h k KEY
<F1> k KEY

この後に説明するヘルプコマンドC-hで始まるキーシーケンスだけを記載しますが、いずれも<F1>でも実行できます。すべてのヘルプコマンドはC-h C-h(help-for-help)で一覧表示できます。

C-h C-h
ヘルプコマンドを一覧表示する(help-for-help)。

これ以降は、ヘルプコマンドのうち個人的に有用と思うヘルプコマンドについて詳細を説明します。

メジャーモードとマイナーモードのヘルプコマンド

現在有効なメジャーモードとマイナーモードのドキュメント表示するにはC-h mとタイプします。

C-h m
現在のメジャーモードとマイナーモードのドキュメントを表示します(describe-mode)。

C-h mを実行すると最初にメジャーモードのドキュメントとキーバインディングの情報を表示し、その次に現在有効なマイナーモードのドキュメントを表示します。

キーバインディングに関するヘルプ

キーバインディングなどを調べるヘルプコマンドは次のものがあります。

C-h b
現在有効なすべてのキーバインディングを一覧表示する(describe-bindings)。
C-h c KEY
キーシーケンスKEYにバインドされているコマンドの名前を表示します(describe-key-briefly)。
C-h k KEY
キーシーケンスKEYが実行するコマンドのドキュメントを表示します(describe-key)。
C-h w COMMAND <RET>
コマンドCOMMANDを実行するキーシーケンスを一覧表示する(where-is)。

C-h bは、現在有効なすべてのキーバインディングの一覧を表示します。現在のマイナーモードのローカルなバインディング、現在のメジャーモードのローカルなバインディング、グローバルなバインディングの順に表示します。

C-h c、C-h kは、メニュー項目やマウスイベントなどに対しても動作します。例えば、C-h kの後にメニューバーからメニュー項目を選択することができます。

コマンドまたは変数のヘルプ

関数や変数のドキュメントを表示するコマンドは次のものがあります。

C-h f FUNCTION <RET>
関数FUNCTIONのドキュメントを表示します(describe-function)。
C-h v VAR <RET>
変数VARのドキュメントを表示します(describe-variable)。

詳細な規則はもう少し複雑ですが、大まかにいうとこれらのコマンドは関数名や変数名の上やその直後にポイントがあるときに実行すると、デフォルトの引数としてその関数名や変数名が使われます。したがって、FUNCTIONやVARを省略してそのまま<RET>とタイプして実行することができます。

Emacs変数や関数を説明するヘルプバッファは、ソースファイルがインストールされているなら対応するソースコードへのハイパーリンクを通常持っています。

aproposコマンド

コマンド名や変数名などの正確な名前が分からない場合はaproposコマンドを使います。aproposコマンドには単語、単語のリスト、正規表現のいずれかであるaproposパターンを指定します。

C-h a
コマンドを検索する(apropos-command)。前置引数を付けるとコマンド以外の関数も検索する。
M-x apropos
関数と変数を検索する。
M-x apropos-user-option
ユーザーオプションを検索する。前置引数を付けるとユーザーオプション以外の変数も検索する。
M-x apropos-variable
変数を検索する。前置引数を付けるとユーザーオプションだけを検索する。
M-x apropos-value
指定したパターンにマッチする値を持つ変数を検索する。前置引数を指定するとパターンにマッチする定義を持つ関数やパターンにマッチするプロパティを持つLispシンボルを検索する。
C-h d
関数と変数の説明文(ドキュメント文字列)から、指定されたパターンにマッチするものを検索する(apropos-documentation)。

ここでユーザーオプションとは変数のうちユーザがカスタマイズ可能な変数のことです。

aproposパターンに単語のリストを指定する場合は各単語を空白で区切ります。2単語以上を指定した場合、少なくとも2つの単語を含むアイテムが一覧表示されます。

C-h a kill delete region

この例では、kill、delete、regionのうち少なくとも2つを含むコマンドを一覧表示します。

aproposコマンドは指定したaproposパターンにマッチするアイテムの一覧をAproposバッファに表示します。Aproposバッファに表示されたアイテムの上で<RET>キーをタイプすると、アイテムのドキュメントを表示することができます。

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

Info形式のドキュメントを閲覧する

Info形式のドキュメントをEmacsで閲覧することもできます。ここではそのようなヘルプコマンドを紹介します。

C-h i
EmacsのInfoリーダーを実行します(info)。
C-h r
EmacsマニュアルのInfoファイルを表示します(info-emacs-manual)。
C-h K KEY <RET>
EmacsマニュアルのInfoファイルの中のキーシーケンスKEYのドキュメントのノードに移動する(Info-goto-emacs-key-command-node)。
C-h F COMMAND <RET>
EmacsマニュアルのInfoファイルの中のコマンドCOMMANDのドキュメントのノードに移動する(Info-goto-emacs-command-node)。

C-h iはInfo形式のファイルを閲覧するためのInfoプログラムを起動します。プログラムを起動するとEmacsで利用可能なInfoファイルの一覧を表示します。Infoの使い方のチュートリアルを起動するには、Infoプログラムを実行した後にhをタイプします。

C-h iに数引数Nを指定すると、*info*<N>という名前のバッファに表示します。これは同時に複数のInfoマニュアルを閲覧するときに使います。前置引数としてC-uだけを指定した場合、C-h iはInfoファイル名の入力を促します。トップレベルのInfoメニューに項目の無いInfoファイルはこれで閲覧することができます。

EmacsマニュアルのInfoファイルを直接表示するにはC-h rを実行します。

C-h K KEY <RET>とC-h F COMMAND <RET>は、Emacsマニュアルの中のキーシーケンスKEY、コマンドCOMMANDのドキュメントのノードに移動します。

国際化に関するヘルプ

国際化に関連した情報を表示するコマンドには次のようなものがあります。

C-h L LANGUAGE-ENV <RET>
言語環境LANGUAGE-ENVで使われるインプットメソッド、文字セット、コーディングシステムの情報を表示する(describe-language-environment)。LANGUAGE-ENVを指定しないと現在使用している言語環境の情報を表示する。
C-h I METHOD <RET>
インプットメソッドMETHODの情報を表示する(describe-input-method)。METHODを指定しないと現在使用しているインプットメソッドの情報を表示する。
C-h h
HELLOファイルを表示します(view-hello-file)。これは様々な言語の文字セットの例を表示します。
C-h C CODING <RET>
コーディングシステムCODINGの情報を表示する(describe-coding-system)。CODINGを指定しないと現在使用しているコーディングシステムの情報を表示する。

その他のヘルプコマンド

ここではこれまでに説明した以外の種種雑多なヘルプコマンドを紹介します。

C-h e
*Messages*バッファを表示します(view-echo-area-messages)。
C-h l
最後の300回のキーストロークを表示します(view-lossage)。
C-h t
Emacsのチュートリアルを表示する(help-with-tutorial)。
C-h C-f
EmacsのFAQの一覧を表示します(view-emacs-FAQ)。
C-h C-n
現在のバージョンの新しい機能を説明するnewsファイルを表示します(view-emacs-news)。

エコーエリアのメッセージを見逃したときや、もう一度メッセージを確認したい場合はC-h eをタイプして*Messages*バッファを表示します。*Messages*バッファはエコーエリアに表示したメッセージを保持しています。何か間違ってキーをタイプしてしまった場合など、何を入力したか確認したい場合にはC-h lをタイプします。C-h tはEmacsのチュートリアルを表示します。Emacs初心者は一度チュートリアルを実施することをお勧めします。

Infoマニュアルを検索する

C-h i d m emacs <RET> i TOPIC <RET>
これはEmacsのInfoマニュアルの索引の中でTOPICを検索し、最初に見つかったものを表示します。次の一致をみるために,を押します。TOPICとして正規表現を使うことができます。
C-h i d m emacs <RET> s TOPIC <RET>
同様ですが、索引ではなくマニュアルの本文を検索します。
C-h C-f
これはInfoを使って、Emacs FAQを表示します。

ヘルプモードのコマンド

ヘルプバッファはViewモードと同じコマンドを提供します。例えば、<SPC>は前方へスクロールし、<DEL>やS-<SPC>は後方へスクロールします。また、幾らかの特別なコマンドも提供されます。

<RET>
ポイントの場所の相互参照を辿る(help-follow)。
<TAB>
次のハイパーリンクへポイントを前方へ移動する(forward-button)。
S-<TAB>
前のハイパーリンクへポイントを後方へ移動する(backward-button)。
Mouse-1、Mouse-2
クリックするとハイパーリンクを辿る。
C-c C-c
ポイントの場所のシンボルについてのすべての文書を表示する(‘help-follow-symbol’)。
C-c C-b
前のヘルプトピックに戻る(‘help-go-back’)。

関数名、変数名、またはフェイス名がヘルプバッファの中の文書の中に現れる場合、通常、アンダーラインが付いたハイパーリンクとして表示されます。関連した文書を見るには、そこへポイントを移動して<RET> (‘help-follow’)をタイプするか、Mouse-1かMouse-2でハイパーリンクをクリックします。そうするとヘルプバッファの内容を置き換えます。来たが場所へ引き返すにはC-c C-b(help-go-back)をタイプします。

また、ヘルプバッファはInfoマニュアル、ソースコードの定義、そしてURL(Webページ)へのハイパーリンクを含むことができます。最初の2つはEmacsで開き、そして3番目はbrowse-urlコマンド経由でWebブラウザを使います。

ヘルプバッファで、<TAB>(forward-button)はポイントを次のハイパーリンクに前方へ移動し、同様にS-<TAB>(backward-button)は前のハイパーリンクへ移動します。

テキストの中のどれかのシンボルについてのすべての文書を見るために、そこへ移動し、C-c C-c(help-follow-symbol)をタイプします。これは(変数、関数そして/またはフェイスの)シンボルについての利用可能なすべての文書を表示します。

-Emacs

Copyright© アナグマのモノローグ , 2021 All Rights Reserved Powered by STINGER.