Slick Evil states for iedit.
Emacs Lisp
Latest commit 02ce7ea Sep 5, 2016 @syl20bnr Bump version to 1.2
Permalink
Failed to load latest commit information.
.gitignore Initial commit Dec 13, 2014
LICENSE Initial commit Dec 13, 2014
README.md Add MELPA stable badge Dec 21, 2014
evil-iedit-state.el Bump version to 1.2 Sep 6, 2016

README.md

evil-iedit-state

MELPA MELPA Stable

Table of Contents

Description

This package adds two new Evil states:

  • iedit state
  • iedit-insert state

It has also a nice integration with expand-region for quick edit of the current selected text by pressing e.

Install

Package manager

You can either install evil-iedit-state from MELPA:

 M-x package-install evil-iedit-state

Or add it to your Cask file:

(source melpa)

(depends-on "evil-iedit-state")

Manually

Add evil-iedit-state.el to your load path. evil-iedit-state requires both iedit and evil to be installed.

Key bindings

State transitions

Key Binding From To
e expand-region iedit
ESC iedit normal
C-g iedit normal
ESC iedit-insert iedit
C-g iedit-insert normal

To sum-up, in iedit-insert state you have to press ESC twice to go back to the normal state. You can also at any time press C-g to return to normal state.

Note: evil commands which switch to insert state will switch in iedit-insert state.

In iedit state

iedit state inherits from normal state, the following key bindings are specific to iedit state.

Key Binding Description
ESC go back to normal state
TAB toggle current occurrence
0 go to the beginning of the current occurrence
$ go to the end of the current occurrence
# prefix all occurrences with an increasing number (C-u to choose the starting number).
A go to the end of the current occurrence and switch to iedit-insert state
D delete the occurrences
F restrict the scope to the function
gg go to first occurrence
G go to last occurrence
I go to the beginning of the current occurrence and switch to iedit-insert state
J increase the edition scope by one line below
K increase the edition scope by one line above
L restrict the scope to the current line
n go to next occurrence
N go to previous occurrence
p replace occurrences with last yanked (copied) text
S (substitute) delete the occurrences and switch to iedit-insert state
V toggle visibility of lines with no occurrence
U Up-case the occurrences
C-U down-case the occurrences

Note: 0, $, A and I have the default Vim behavior when used outside of an occurrence.

In iedit-insert state

Key Binding Description
ESC go back to iedit state
C-g go back to normal state