doomemacs/modules/feature/evil
Henrik Lissner 8d26879f99
Add :editor multiple-cursors module
Moves evil-mc/evil-multiedit out of feature/evil.
2018-08-06 00:31:23 +02:00
..
autoload
test
+everywhere.el Demote evil-collection errors 2018-07-31 19:35:30 +02:00
config.el Add :editor multiple-cursors module 2018-08-06 00:31:23 +02:00
packages.el Add :editor multiple-cursors module 2018-08-06 00:31:23 +02:00
README.org

:feature evil

This holy module brings the vim experience to Emacs.

Removing evil-mode

Features

  • A better :g[lobal] command with incremental highlighting.
  • Adds the :al[ign] ex command: offers an ex interface to align-regexp with incremental highlighting.
  • Support for more of vim's filename modifiers in ex commands (like :p, :p:h or :t) than vanilla evil-mode offers.
  • A list of new text objects:

    • Blocks: B (from evil-textobj-anyblock)
    • Args: a (from evil-args)
    • Indentation: i / I / J (from evil-indent-plus)
  • Incorporates vim functionality ported to evil:

    • vim-commentary => evil-commentary
    • vim-easymotion => evil-easymotion
    • vim-multiedit => evil-multiedit
    • vim-multiple-cursors => evil-mc & evil-multiedit
    • vim-seek or vim-sneak => evil-snipe
    • vim-surround => evil-embrace & evil-surround
  • NERDTree equivalent 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/b will only affects the visual selection, not full lines (see evil-ex-visual-char-range).
  • :g will incrementally highlight buffer matches.