bind-key

Homepage: https://github.com/jwiegley/use-package

Author: John Wiegley

Summary

A simple way to manage personal keybindings

Commentary

If you have lots of keybindings set in your init file, it can be
hard to know which ones you haven't set yet, and which may now be
overriding some new default in a new Emacs version.  This module
aims to solve that problem.

Bind keys as follows in your init file:

  (bind-key "C-c x" 'my-ctrl-c-x-command)

If the keybinding argument is a vector, it is passed straight to
`define-key', so remapping a key with `[remap COMMAND]' works as
expected:

  (bind-key [remap original-ctrl-c-x-command] 'my-ctrl-c-x-command)

If you want the keybinding to override all minor modes that may also bind
the same key, use the `bind-key*' form:

  (bind-key* "" 'other-window)

If you want to rebind a key only in a particular keymap, use:

  (bind-key "C-c x" 'my-ctrl-c-x-command some-other-mode-map)

To unbind a key within a keymap (for example, to stop your favorite major
mode from changing a binding that you don't want to override everywhere),
use `unbind-key':

  (unbind-key "C-c x" some-other-mode-map)

To bind multiple keys at once, or set up a prefix map, a `bind-keys' macro
is provided.  It accepts keyword arguments, please see its documentation
for a detailed description.

To add keys into a specific map, use :map argument

   (bind-keys :map dired-mode-map
              ("o" . dired-omit-mode)
              ("a" . some-custom-dired-function))

To set up a prefix map, use `:prefix-map' and `:prefix' arguments (both are
required)

   (bind-keys :prefix-map my-customize-prefix-map
              :prefix "C-c c"
              ("f" . customize-face)
              ("v" . customize-variable))

You can combine all the keywords together.  Additionally,
`:prefix-docstring' can be specified to set documentation of created
`:prefix-map' variable.

To bind multiple keys in a `bind-key*' way (to be sure that your bindings
will not be overridden by other modes), you may use `bind-keys*' macro:

   (bind-keys*
    ("C-o" . other-window)
    ("C-M-n" . forward-page)
    ("C-M-p" . backward-page))

After Emacs loads, you can see a summary of all your personal keybindings
currently in effect with this command:

  M-x describe-personal-keybindings

This display will tell you if you've overridden a default keybinding, and
what the default was.  Also, it will tell you if the key was rebound after
your binding it with `bind-key', and what it was rebound it to.

See the `use-package' info manual for more information.

Dependencies

Reverse dependencies