spacemacs/layers/+spacemacs/spacemacs-evil
Thanh Vuong a6d364e0f2 [spacemacs-evil] add evil-collection
It is impossible to ignore `evil-collection` anymore. `evil-magit` has been
deprecated recently and moved to `evil-collection`.

It will save time and effort for both Spacemacs and Evil to share and contribute
to `evil-collection` imo.

However I strongly prefer Spacemacs binding scheme over evil-collection's one.
We should only pick what we need from `evil-collection`.

This PR add mechanism to embrace `evil-collection` and apply it to shell layer (`vterm`)
and git layer.
2021-01-30 01:11:07 +00:00
..
local/evil-unimpaired evil-unimpaired switch from normal to motion state 2019-05-23 08:59:58 +02:00
config.el [spacemacs-evil] add evil-collection 2021-01-30 01:11:07 +00:00
funcs.el update copyright to 2020 2020-09-23 21:25:01 +02:00
packages.el [spacemacs-evil] add evil-collection 2021-01-30 01:11:07 +00:00
README.org [spacemacs-evil] add evil-collection 2021-01-30 01:11:07 +00:00

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.