ELPA Logo NonGNU ELPA: evil-escape

evil-escape Atom Feed

Description
Escape from anything with a customizable key sequence
Latest
evil-escape.tar (.sig), 2024-Mar-31, 30.0 KiB
Maintainer
Other versions:
development version
Website
https://github.com/emacsorphanage/evil-escape
ELPA's Repository
CGit or Gitweb
All Dependencies
evil (.tar)
cl-lib (.tar)
Badge

To install this package from Emacs, use package-install or list-packages.

Full description

evil-escape

MELPA MELPA Stable

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:

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:

(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.

(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.

Case-Insensitive key sequence

The key sequence can be entered without regard to case by setting the variable evil-escape-case-insensitive-key-sequence to non nil.

This allows you to use df, DF, Df or dF to escape.

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:

(global-set-key (kbd "C-c C-g") 'evil-escape)