guide-key 20150107.2235(in MELPA)
Guide the following key bindings automatically and dynamically

概要

<2015-09-14 Mon>which-key.elがguide-key.elの改良版です

guide-key.elはプレフィクスキーの次のキー操作を
ポップアップで教えてくれるEmacs Lispです。

Emacsには無数にキーが定義されていて、すべてを把握することはほぼ不可能です。

そこで、プレフィクスキーまで押しても次なんだったかな…
と思うことはよくありますね。

特にC-x rのregister/rectangle系はものすごい多いです。

これを救ってくれるのがguide-key.elなのです。

メジャーモードやマイナーモードにも対応していて、
たとえば org-mode のC-c C-xでも問題ありません。

これを使わないとわざわざ<f1> bなどで
キーバインドを調べる必要があって面倒です。

一定時間(デフォルトで1秒)以内に操作すればポップアップしないので、
毎回ポップアップされる煩わしさはありません。

one-key.elを使っている人は乗り換えてみてはいかがでしょうか?

helm-descbinds.el と組み合わせると
キーバインドに悩むことはなくなるでしょう。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてguide-keyを使う方は
以下のコマンドを実行します。

M-x package-install guide-key

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name guide-key

設定 140830063637.guide-key.el(以下のコードと同一)

(require 'guide-key)
;;; guilde-keyを発動させるプレフィクスキー
(setq guide-key/guide-key-sequence
      '("C-x r" "C-x 4"                 ;global
        ;; org-modeではC-c C-xも対象にする
        (org-mode "C-c C-x")
        ;; outline-minor-modeではC-c @も対象にする
        (outline-minor-mode "C-c @")))

;;; コマンド名にこれらが含まれている場合はハイライトされる
(setq guide-key/highlight-command-regexp "rectangle\\|register\\|org-clock")
;;; 1秒後にポップアップされる(デフォルト)
;;; つまり1秒以内に操作すればポップアップされずに実行される
(setq guide-key/idle-delay 1.0)
;;; 下部にキー一覧を表示させる(デフォルトはright)
(setq guide-key/popup-window-position 'bottom)
;;; 文字の大きさを変更する(正の数で大きく、負の数で小さく)
(setq guide-key/text-scale-amount -2)
;;; 有効にする
(guide-key-mode 1)

実行方法

$ wget http://rubikitch.com/f/140830063637.guide-key.el
$ emacs -Q -f package-initialize -l 140830063637.guide-key.el

20140830064808.png
Fig1: C-x 4

20140830064819.png
Fig2: C-x r

本サイト内の関連パッケージ


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。