0

C-x r l 次のキー シーケンスを という関数にバインドしたいと思いますhelm-bookmarks

私が理解していることからC-x、たとえば、でトリガーされるキーマップでこれを行うことができます

(define-prefix-command 'my_sense_map)
(global-set-key (kbd "C-x") 'my_sense_map)
(define-key my_sense_map (kbd "r l") 'helm-bookmarks)

しかし、これは私の他のすべてのバインディング(C-x 2またはC-x 3ウィンドウ分割など)を隠します。つまり、それらは機能しなくなります。

他のキーバインディングを変更せず C-x r l にバインドするにはどうすればよいですか?'helm-bookmarks

4

1 に答える 1

3

C-xrl現在のグローバル マップのバインディングを に設定するだけですhelm-bookmarks

(global-set-key (kbd "C-x r l") 'helm-bookmarks)

Emacs はC-x、変数 に保存されたキーマップを使用するプレフィックス キーとして定義しますctl-x-map。これには、 で始まるキー シーケンスのほとんどのバインディングが含まれますC-x。エントリのない新しいキーマップを使用するように再定義すると、 に保存されているバインディングがすべて失われctl-x-mapます。

于 2012-09-25T19:54:18.780 に答える