2

私はどこM-mが機能に結びついているのかを理解しようとしていback-to-indentationます。C-h k M-m( )を発行するとdescribe-key、次の出力が得られます

Mmは、コマンドをインデントに戻します。これは、`simple.el'のインタラクティブにコンパイルされたLisp関数です。

Mmにバインドされています。

(インデントに戻る)

ポイントをこの行の最初の非空白文字に移動します。

を見るとsimple.el、関数の定義しか見えませんback-to-indentation。ファイル全体を検索しましたが、を使用してその関数に対して行われたキーバインドは見つかりませんでしたdefine-key。私はそれが他の場所で起こると思います。

M-m関数がキーにバインドされている場所を特定するにはどうすればよいですか?

Emacsバージョン:GNU Emacs 24.2.1(x86_64-apple-darwin12.2.0、NS apple-appkit-1187.34)

4

1 に答える 1

4

それが一般的に可能かどうかはわかりませんが、Emacsは特定のキーを定義したコードがどこにあったかを覚えていないのではないかと思います。

C-hb現在のバインディングが表示され、そこから関心のあるキーマップを確立して、そこから作業することができます。ほとんどのメジャーモードマップまたはマイナーモードマップでは、コードを見つけるのはそれほど難しくありません。

あなたの特定の例は、Emacsがで設定するグローバルバインディングbindings.elです。

于 2013-03-12T07:59:07.540 に答える