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/layers/+spacemacs/spacemacs-evil/README.org

2.8 KiB

spacemacs-evil layer

Description

This layer adds various adjustments to packages to create an evilified experience throughout the entirety of Spacemacs.

Features:

  • Add evil tutorial with evil-tutor
  • Add relative line number with linum-relative (only in Emacs 25.x and older)
  • Add escaping under fd by default with evil-escape
  • Add occurrences count in mode-line when searching a buffer
  • Add support for lisp structure manipulation with evil-lisp-state
  • Add safe structural editing of lisp dialects with evil-cleverparens
  • Add evil-exchange to swap text
  • Add easy live editing of multiple occurrences with evil-iedit-state
  • Add new vim text objects for indentation with evil-indent-plus
  • Add operations to align text with evil-lion
  • Easy management of comments with evil-nerd-commenter
  • Navigation between pairs with evil-matchit
  • Advanced navigation on brackets with evil-unimpaired
  • Easy increment and decrement of numbers with evil-number
  • Support for additional vim movements via evil-args
  • Support for surrounding the marked area with a given character via evil-surround
  • Evilification of various modes if the editing style is vim or hybrid
  • Improves the comment function to be able to also do the inverse operation
  • Persistent highlight of searched text with evil-search-highlight-persist
  • Display tildes in non-buffer area with vi-tilde-fringe
  • Add evil-collection

Install

The spacemacs-evil layer is included by default in the Spacemacs distribution.

Note about evil-collection

evil-collection is a collection of Evil bindings for the parts of Emacs that Evil does not cover properly by default, such as help-mode, M-x calendar, Eshell and more.

However, there is a large overlap of features provided by both Spacemacs and evil-collection. For the same feature, Spacemacs implementation is often better than evil-collection.

That's said, when evil-collection is used carefully we can reduce the amount of effort wasted on reinventing the wheel on Spacemacs side.

Spacemacs provides a layer variable spacemacs-evil-collection-allowed-list for users and layer hackers to enable evil-collection on their desired modes.

For users, if you want to enable evil-collection on eglot, then you will need to declare this layer with it variable explicitly:

  (spacemacs-evil :variables
                      spacemacs-evil-collection-allowed-list
                     '(eglot))

For Spacemacs hackers check out git layer to see how we apply evil-collection to magit.