Emacs で自動的にキーバインドをポップアップするライブラリ,guide-key.el を自作したので紹介したいと思います.one-key.el の代替ライブラリのつもりです.詳しくは自分のブログに書いたので,こちらでは軽く導入と設定を書いておきます.
guide-key.el の導入
guide-key.el は MELPA に登録しているので,package.el を使ってインストールできます.popwin に依存しているので,package.el でインストールすれば自動的に popwin もインストールされます.
package.el がない人は m2ym/popwin-el と kai2nenobu/guide-key から popwin.el と guide-key.el を直接ダウンロードしてきて,適当に load-path
が通っているところに保存してください.
使い方
guide-key/guide-key-sequence
にポップアップして欲しいキーシーケンス(プレフィックスキー)を登録してください.guide-key/highlight-command-regexp
に一致するコマンドはハイライトされます.
(require 'guide-key)
(setq guide-key/guide-key-sequence '("C-x r" "C-x 4"))
(setq guide-key/highlight-command-regexp "rectangle")
(guide-key-mode 1) ; guide-key-mode を有効にする
これで C-x r
や C-x 4
を押した時に,次に続くキーを表示するウィンドウが自動的にポップアップされます.実際に C-x r
を押した様子はこのようになります.
特定のモードで設定を追加
guide-key/add-local-guide-key-sequence
と
guide-key/add-local-highlight-command-regexp
に特定のモードのフックと組み合
わせれば,特定のモードに対して設定を追加できます.例えば org-mode を例にとって
見ると,以下のような設定になります.
(defun guide-key/my-hook-function-for-org-mode ()
(guide-key/add-local-guide-key-sequence "C-c")
(guide-key/add-local-guide-key-sequence "C-c C-x")
(guide-key/add-local-highlight-command-regexp "org-"))
(add-hook 'org-mode-hook 'guide-key/my-hook-function-for-org-mode)
この設定をした後,org-mode のバッファで C-c C-x p
を押して org-set-property
が実行される様子が以下の図です.
まとめ
guide-key の特徴をまとめておきます.
-
現在入力しているキーシケンスに続くキーを自動的にポップアップします.ポップアップさせたいプレフィックスを設定するだけで使えます.また動的にキーバインドを調べているので,キーバインドが変更されても動的に追随できます.
-
特定のコマンドを色付けすることできます.いま注目している機能に関するコマンドだけを色付けすることにより,キーバインドを探しやすくなり体で覚えることができます.
-
既存のコマンドを上書きしないので,
describe-key
やdescribe-bindings
などに影響が出ません.