emacsでキー翻訳を入手する方法は?


1

C-c Bバインドとして使用したいのですが、すでにバインドされているようです:

C-c b (translated from C-c B) runs the command …
  • それをバインドするコードがどこにあるかをどのように確認できますか?

  • 自分でそれを無効にする方法は?


BまたはS-b、そのための標準はありますか?


注(1)私見-いいえ、それは明確ではありません。S(2)標準は、大文字を意味する場合、大文字を使用することです。Sは他の修飾子とのみ使用されます
。CSb

ありがとう。C-Bそれは悪い習慣になることを意味しますか、それとも、たとえば、C-S-sM-S-mを区別するControl-Shift-forgot-the-letterためのものですか?今、私はそれをバラバラにしたので、2番目の質問のように見えます。投稿に値するならダンノ。
ニカナレクラビクス

回答:


2

C-h k C-c b実行されているコマンドを表示します。コードを表示するには、最初の段落の.elリンクのスペースをクリック/押してください。

(global-unset-key "\C-cb") .emacsでキーを設定解除します。

編集1:

最初に、そのキープレスで実行されているコマンドを見つけますdescribe-keyC-h k C-c B。emacsが報告する場合、C-c B is undefined おそらく小文字のコマンドにフォールバックしていC-c bます。

このようなフォールバックの場合、大文字キーをバインドする(global-set-key (kbd "C-c B") 'command)と、フォールバックキーはそのままになります。

そうでない場合、*help*describe-keyが表示されるウィンドウ.elの最初の段落にファイルが表示され、クリックするか、ポイントがその上にあるときにスペースで表示できます。あなたのコマンドはおそらくそのコードのどこかに設定されるでしょう。

コードを見つけるには、を検索してみてくださいdescribe-keyset-keyあなたのいくつかのバリエーションkbd、文字列、または最悪の場合key


これは、キーをバインドするコードではなく、関数定義のコードです。また、小文字のキーのバインドを解除します。これはそのままにしておきますが、大文字のキーを無効にします。
ニカナレクラウィクス

1
私が意味するのは、バインディングがおそらくあなたが指し示したライブラリーにあるということです。'bind'、 'set-key'、 'defkey'などの検索を試してみてください。運がいいかもしれません。私の場合は、org-defkeyを使用したorg-modeでした。
ダニエル

unset-keyに関しては、emacsバインディングに関するこのページによると、正しい方法は(global-unset-key (kbd "C-c B"))です。スクラッチのクイックセットキーに対してテストしただけで機能しているように見えますが、C-c b大文字バージョンのバインディングが存在しない場合はフォールバックします。
ダニエル

で検索したため、検索では結果が得られませんでしC-x <left>simple.el。再バインドに関しては、はい、大文字のバインドは翻訳を破棄しますが、私の質問では小文字のバインドをそのままにしておくことが重要です(ただし、回答を編集してそれを考慮することもできます)。
ニカナレクラウィクス

おかげで、私の答えは編集されました。私はあなたがこのようないくつかの後にいると思いますか? C-x <left>元の質問にはありません。フォールバックケースはありません。
ダニエル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.