This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/contrib/iedit
2014-12-09 23:50:48 -05:00
..
extensions/evil-iedit-state Add tab to toggle current occurrence in iedit state 2014-12-07 01:13:46 -05:00
extensions.el Disable leader in iedit-insert state 2014-12-07 00:29:46 -05:00
packages.el Add iedit layer 2014-12-05 00:59:35 -05:00
README.md Fix defvar instead of setq in readme 2014-12-09 23:50:48 -05:00

iedit contribution layer for Spacemacs

Table of Contents

This layer replaces auto-highlight-symbol back end by iedit.

It comes with two new evil states:

  • iedit state
  • iedit-insert state

These states color code is red.

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

Install

To use this contribution add it to your ~/.spacemacs

(setq-default dotspacemacs-configuration-layers '(iedit)
  "List of contribution to load."
)

Key bindings

State transitions

Key Binding    |       From         |          To

-------------------|:------------------:|:-------------------------: SPC s e | normal or visual | iedit e | expand-region | iedit ESC | iedit | normal C-g | iedit | normal fd | iedit | normal ESC | iedit-insert | iedit C-g | iedit-insert | normal fd | 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 or fd 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 (SPC 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

Examples

  • manual selection of several words then replace: v w w SPC s e S "toto" ESC ESC
  • append text to a word on two lines: v i w SPC s e J i "toto" ESC ESC
  • substitute symbol with expand-region: SPC v v e S "toto" ESC ESC
  • replace symbol with yanked (copied) text with expand region: SPC v e p ESC ESC