現在のメジャー モードのキーマップで、特定のキーを特定のコマンドに永続的にバインドする elisp 関数を作成しています。例えば、
(define-key python-mode-map [C-f1] 'python-describe-symbol)
コマンドとキー シーケンスは、ユーザーから対話的に収集されます。しかし、現在のメジャー モードに対応する KEYMAP の名前 (「python-mode-map」など) を生成するのに問題があります。
関数 (current-local-map) を試しましたが、この関数は名前ではなく、キーマップ オブジェクト自体を返します。
多くのメジャー モード キーマップは、「メジャー モード名」-モード マップという規則に従って名前が付けられていることを理解していますが、これは常に当てはまるとは限りません (たとえば、python-shell-map)。私のコードはこの規則に依存していません。(現在のメジャーモードの名前にアクセスする方法さえわかりません)。
は(define-key ...)
init ファイルに追加されるため、
(define-key (current-local-map) key command)
動作しているように見えますが、初期化ファイルのコードとしては動作しません。