Create One Key Menu for any major-mode/minor-mode
Emacs Lisp
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
demo1.png
one-key-local.el

README.md

What's this?

This is a extension of Emacs that provides the menu of one-key.el for any major-mode and minor-mode.

Feature

One-key.el is a awesome extension of Emacs that provides help menu of key binding.
But it has some bad points. List them at the following ...

  • A troublesome setting is required in order to define the menu for any mode other than global-mode.
  • The extension exists which provide the output of its code. But if key binding has changed, have to redo a output.
  • Have to do setting for each for the key binding which has prefix key.

This extension resolve them.

Define the menu for any major-mode and minor-mode easily

You can define the menu for any major-mode and minor-mode by writting one line.

Define the menu automatically for each for the key binding which has prefix key

For example, dired-mode has some keymaps "C-t", "C-x", etc.
You can define the menu for them by writting one line.

Define the menu for all active mode at that time.

When want to know key binding on some mode,
I think that want to know the binding of all active mode at that time.
So, define the menu automatically for them.

Install

You can install by the following way.

By auto-install

eval the following sexp.

(auto-install-from-url "https://raw.github.com/aki2o/one-key-local/master/one-key-local.el")

Otherwise

download "one-key-local.el" manually and put it in your load-path.

Configure

(require 'one-key-local)

;; if the mode has hook
(one-key-local-create-menu :hook 'dired-mode-hook :key nil :bind "?")

;; if the mode has not hook
(one-key-local-create-menu :mode 'moccur-mode :key nil :bind "<f11>")

;; if the map name different the mode name
(one-key-local-create-menu :mode 'moccur-grep-mode :map 'moccur-mode-map :key nil :bind "?")

;; if want to display the menu for specified key map
(one-key-local-create-menu :hook 'org-mode-hook :key "C-c C-x" :bind "C-c C-x")

Notice

More information

If you want to get more information of one-key-local-create-menu, do describe-function.

The key map exists that can't be defined automatically

If you received the following message,

[OneKeyLocal] Not yet create menu 'XXX' on ...

Write setting "(one-key-local-create-menu ..." about XXX before the menu.
The cause has not yet been elucidated.

The menu isn't displayed which is about Return key and Escape key

For example, if you wrote the following ...

(one-key-local-create-menu :hook 'dired-mode-hook :key nil :bind "<f11>")

Then, if you keystroke "<f11>" on dired-mode, display the following ...

Demo1

Then, if you keystroke "C-t", show the "C-t" menu.
But, if you keystroke "<ESC>", not show the "<ESC>" menu.

I guess the cause is specification of one-key.el.

If you want to show the menu about Return key and Escape key,
In above case, write like the following ...

(one-key-local-create-menu :hook 'dired-mode-hook :key "<ESC>" :bind "<M-f11>")

Note display the buffer of one-key.el by popwin.el in above screenshot.

Tested On

  • Emacs ... GNU Emacs 23.3.1 (i386-mingw-nt5.1.2600) of 2011-08-15 on GNUPACK
  • one-key.el ... Version 0.7.1

Enjoy!!!