evil-escape
- Description
- Escape from anything with a customizable key sequence
- Latest
- evil-escape-3.16.tar (.sig), 2024-Mar-31, 30.0 KiB
- Maintainer
- Sylvain Benner <sylvain.benner@gmail.com>
- Atom feed
- evil-escape.xml
- Website
- https://github.com/emacsorphanage/evil-escape
- Browse ELPA's repository
- CGit or Gitweb
- Badge
To install this package from Emacs, use package-install
or list-packages
.
Full description
evil-escape
Table of Contents
Customizable key sequence to escape from insert state and everything else in Emacs.
Version 3.0 is a rewrite of evil-escape
and removes the previous limitations:
- escape sequence can now be used in macros
- there is no limitation on the choice of key for the first key of the sequence.
Press quickly fd
(or the 2-keys sequence of your choice) to:
- escape from all stock evil states to normal state
- escape from evil-lisp-state to normal state
- escape from evil-iedit-state to normal state
- abort evil ex command
- quit minibuffer
- abort isearch
- quit ibuffer
- quit image buffer
- quit compilation buffers
- quit magit buffers
- quit help buffers
- quit apropos buffers
- quit ert buffers
- quit undo-tree buffer
- quit paradox
- quit gist-list menu
- quit helm-ag-edit
- hide neotree buffer
- quit evil-multiedit
And more to come !
Contributions to support more buffers are _very welcome_: Escape Everything !
Install
The package is available in MELPA.
If you have MELPA in package-archives
, use
M-x package-install RET evil-escape RET
If you don't, open evil-escape.el
in Emacs and call
package-install-from-buffer
.
Usage
To toggle the evil-escape
mode globally:
M-x evil-escape-mode
Customization
Key sequence
The key sequence can be customized with the variable evil-escape-key-sequence
.
For instance to change it for jk
:
elisp
(setq-default evil-escape-key-sequence "jk")
Delay between keys
The delay between the two key presses can be customized with the variable
evil-escape-delay
. The default value is 0.1
. If your key sequence is
composed with the two same characters it is recommended to set the delay to
0.2
.
elisp
(setq-default evil-escape-delay 0.2)
Unordered key sequence
The key sequence can be entered in any order by setting
the variable evil-escape-unordered-key-sequence
to non nil.
Excluding a major mode
A major mode can be excluded by adding it to the list
evil-escape-excluded-major-modes
.
Enable only for a list of major modes
An inclusive list of major modes can defined with the variable
evil-escape-enable-only-for-major-modes
. When this list is non-nil
then evil-escape is enabled only for the major-modes in the list.
Inhibit evil-escape
A list of zero arity functions can be defined with variable
evil-escape-inhibit-functions
, if any of these functions return
non nil then evil-escape is inhibited.
It is also possible to inhibit evil-escape in a let binding by
setting the evil-escape-inhibit
variable to non nil.
Assign a key binding directly
It is possible to bind evil-escape' function directly
, for
instance to execute evil-escape with C-c C-g:
elisp
(global-set-key (kbd "C-c C-g") 'evil-escape)