Emacs:適切なカスタムキーバインディングを選択する方法


10

私はEmacsの初心者だと私はのような一般的なタスクのいくつかの世界的なカスタムキーバインディングの追加を開始したいと思いreplace-stringreplace-regexデフォルトでそれらを持っていない、など。良い選択をしたいのですが、いくつか問題があります。

  • すべてのオプションを表示 -定期的に使用するすべてのモードでバインドされていないすべてのキーを表示するにはどうすればよいですか?

  • 互換性/慣習 -個人的なカスタムバインディングを開始するための一般的な非公式バインディングまたは「ユーザースペース」キーはありますか?

  • その他の問題 -他に考慮すべきことはありますか?

回答:


9

SOでこの質問を見てみましょう:カスタムコマンド用に予約されているemacsキーの組み合わせはありますか?

利用可能なものを確認することに関しては、unboundライブラリがあります(上記の質問に対する最初の回答を参照してください)。

1つの規則(その質問に対する私の回答から得られたもの)は次のとおりです。

何でも再定義できますが、慣例により使用します C-c ll任意の文字はです)。

ユーザーとして、任意のキーを再定義できます。ただし、通常は、C-c その後に文字(大文字または小文字)が続くキーシーケンスを使用するのが最善です。これらのキーは「ユーザー用に予約」されているため、適切に設計されたEmacs拡張機能と競合することはありません。ファンクションキーF5F9もユーザー用に予約されています。他のキーを再定義すると、同じキーを再定義する特定の拡張機能またはメジャーモードによって定義が上書きされる可能性があります。

キーバインディングはさまざまな(メジャーおよびマイナー)モードのそれぞれで異なるため、あるバッファーで使用できるものが必ずしも別のバッファーで使用できるとは限らないことに注意してください。そして、キーバインディングを可能な限り最もローカライズされたレベルにします。機能は、コードの行に何かをした場合、それについての結合グローバルキーがありません(適切なキーマップで定義するc++-mode-mapruby-mode-mapなど)。

特定のタスクに関して、次のことに気づきましたか。

  • M-% 別名 query-replace
  • C-M-% 別名 query-replace-regexp

また、(C-sまたはC-M-s(およびその逆の変形))を検索しているときに、M-%(またはC-M-%)を入力して、検索文字列をquery-replacequery-replace-regexp)に直接入力して、置換するものとして...かなり便利です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.