Help us understand the problem. What is going on with this article?

Emacs で自動的にキーバインドをポップアップする guide-key

More than 5 years have passed since last update.

Emacs で自動的にキーバインドをポップアップするライブラリ,guide-key.el を自作したので紹介したいと思います.one-key.el の代替ライブラリのつもりです.詳しくは自分のブログに書いたので,こちらでは軽く導入と設定を書いておきます.

guide-key.el の導入

guide-key.el は MELPA に登録しているので,package.el を使ってインストールできます.popwin に依存しているので,package.el でインストールすれば自動的に popwin もインストールされます.

package.el がない人は m2ym/popwin-elkai2nenobu/guide-key から popwin.el と guide-key.el を直接ダウンロードしてきて,適当に load-path が通っているところに保存してください.

使い方

guide-key/guide-key-sequence にポップアップして欲しいキーシーケンス(プレフィックスキー)を登録してください.guide-key/highlight-command-regexp に一致するコマンドはハイライトされます.

init.el
(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 rC-x 4 を押した時に,次に続くキーを表示するウィンドウが自動的にポップアップされます.実際に C-x r を押した様子はこのようになります.

C-x r を押した様子

特定のモードで設定を追加

guide-key/add-local-guide-key-sequence
guide-key/add-local-highlight-command-regexp に特定のモードのフックと組み合
わせれば,特定のモードに対して設定を追加できます.例えば org-mode を例にとって
見ると,以下のような設定になります.

init.el
(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 が実行される様子が以下の図です.

C-c C-x p を押した様子

まとめ

guide-key の特徴をまとめておきます.

  • 現在入力しているキーシケンスに続くキーを自動的にポップアップします.ポップアップさせたいプレフィックスを設定するだけで使えます.また動的にキーバインドを調べているので,キーバインドが変更されても動的に追随できます.

  • 特定のコマンドを色付けすることできます.いま注目している機能に関するコマンドだけを色付けすることにより,キーバインドを探しやすくなり体で覚えることができます.

  • 既存のコマンドを上書きしないので,describe-keydescribe-bindings などに影響が出ません.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした