2012-02-27 4 views
12

には(global-set-key (kbd "M-x g") 'gnus)というコードがあり、キーバインドM-x gでGnusを起動します。私は得る:error: Key sequence M-x g starts with non-prefix key M-xM-xで始まるキーバインドを定義するにはどうすればよいですか?これは悪いことであり、避けるべきですか? 「長いバージョン」がM-x gnusなので、より直感的です。例えばC-c gとしてそれを定義することは問題ありませんが、その後、あなたは、キーはMxがすでににバインドされている両方M-x + 1 letteremacsエラー:キーシーケンスM-x gは非プレフィックスキーM-xで始まります

答えて

18

経由で起動とは対照的に(例えば、M-x R経由Rは非常に直感的ではありませんこれは、C-c gではGnusを起動して、そして、あなたを尋ねコマンドexecute-extended-commandは、(あなたの場合:gnus)を実行するコマンドの名前を提供する。

Rが唯一の文字の長いコマンドがあるので、のMx Rがキーであるように見えますシーケンスですが、そうではありません:Mxを入力し、次にミニバッファにRと入力して、RETを入力して入力を検証する必要があります。要するに

:このキーは既にコマンドにバインドされたので、待つことなく、何もしませんとは異なり、接頭辞(CC、ではありませんので、

  • あなたは、MXで始まるキーシーケンスを設定することはできません別のキーを入力することができますが、現在のモードに固有のバインド用に予約する必要があります)。
  • (あなたがたとえばF1のいずれかを使用することができますあなたは非常に迅速にする必要がある場合は完全に異なるキーにそれを再バインドするのMxヌーやを使用してヌーを開始続けることであろうことを行うための標準的な方法 - F12キー
  • あなたが本当に結合のMx +文字を持つようにしたい場合、あなたはこのように、コマンドgnusに1文字の別名を定義することができます:
(defalias 'g 'gnus) 
+0

非常に詳細な説明、多くのありがとう、フランチェスコ。 –

+0

4番目のオプションは、Mxをクリアしてプレフィックスキーにすることです:http://stackoverflow.com/questions/1024374/how-can-i-make-cp-an-emacs-prefix-key-for-develperlysense(しかし、Mxはこのようなコアemacsキーです。この場合、おそらく悪い考えです。) – idbrii

関連する問題