mirror of
https://github.com/doomemacs/doomemacs
synced 2025-08-19 13:43:36 -05:00
When evil-escape is invoked from multiedit-insert state, it erroneously quits the current multiedit session entirely. No more. This can be removed when syl20bnr/evil-escape#83 is merged.
:feature evil
This holy module brings the vim experience to Emacs.
Table of Contents TOC
Removing evil-mode
See the corresponding question in the FAQ.
Features
- A better
:g[lobal]command with incremental highlighting. - Adds the
:al[ign]ex command: offers an ex interface toalign-regexpwith incremental highlighting. - Support for more of vim's filename modifiers in ex commands (like
:p,:p:hor:t) than vanilla evil-mode offers. -
A list of new text objects:
- Blocks:
B(fromevil-textobj-anyblock) - Args:
a(fromevil-args) - Indentation:
i/I/J(fromevil-indent-plus)
- Blocks:
-
Incorporates vim functionality ported to evil:
vim-commentary=>evil-commentaryvim-easymotion=>evil-easymotionvim-multiedit=>evil-multieditvim-multiple-cursors=>evil-mc&evil-multieditvim-seekorvim-sneak=>evil-snipevim-surround=>evil-embrace&evil-surround
NERDTreeequivalent is available in:tools neotree
Multiple-cursors
Two multiple-cursor implementations exist in this module: evil-mc and
evil-multiedit. Together, these provide the functionality of
vim-multiple-cursors.
The former lets you place "clone" cursors. The latter lets you interactively
edit many regions at once (like an interactive version of :%s).
A hybrid code-folding system
This module combines evil-vimish-fold and hideshow. The former allows
arbitrary folds and the latter allows folds on markers and indentation.
Together, they create a more consistent (and feature-complete) code-folding
system.
Most vim folding keys should work, e.g. zr, zm, za, zo, etc.
Hacks
- Automatically moves to new window when splitting
- From visual mode,
*and#will search for the current selection instead of the word-at-point.
Differences from vim
- Column-wise ranges in ex commands are enabled by default. i.e. the range in
:'<,'>s/a/bwill only affects the visual selection, not full lines (seeevil-ex-visual-char-range). :gwill incrementally highlight buffer matches.