blob: 198b18317c9948072c68724939fca52449495b4e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|

[](https://github.com/emacs-evil/evil/actions/workflows/test.yml)
[](https://melpa.org/#/evil)
[](https://stable.melpa.org/#/evil)
[](http://elpa.nongnu.org/nongnu/evil.html)
[](https://evil.readthedocs.io/en/latest/?badge=latest)
[](https://www.gnu.org/licenses/gpl-3.0)
Evil is an **e**xtensible **vi** **l**ayer
for [Emacs](http://www.gnu.org/software/emacs/). It emulates the main features
of [Vim](http://www.vim.org/), and provides facilities for writing custom
extensions. Also see our page on [EmacsWiki](http://emacswiki.org/emacs/Evil).
# Installation
See the
[official documentation](https://evil.readthedocs.io/en/latest/overview.html#installation-via-package-el)
for installation instructions. We recommend using *package.el*.
As a quickstart, you can add the following code to your Emacs init
file.
```elisp
;; Set up package.el to work with MELPA
(require 'package)
(add-to-list 'package-archives
'("melpa" . "https://melpa.org/packages/"))
(package-initialize)
(package-refresh-contents)
;; Download Evil
(unless (package-installed-p 'evil)
(package-install 'evil))
;; Enable Evil
(require 'evil)
(evil-mode 1)
```
## Dependencies
* Evil requires Emacs 24.1 or later.
* Evil requires any of the following for `C-r`:
* `undo-redo` from Emacs 28
* The [undo-tree](https://gitlab.com/tsc25/undo-tree) package
(available via GNU ELPA)
* The [undo-fu](https://gitlab.com/ideasman42/emacs-undo-fu) package
(available via MELPA)
* For the motions `g;` `g,` and for the last-change-register `.`, Evil
requires the [goto-chg.el](https://github.com/emacs-evil/goto-chg)
package (available via MELPA and NonGNU ELPA), which provides the
functions `goto-last-change` and `goto-last-change-reverse`.
* For Emacs 24.1 and 24.2 Evil also requires
[cl-lib](https://elpa.gnu.org/packages/cl-lib.html).
# Documentation
The latest version of the documentation is readable online
[here](https://evil.readthedocs.io/en/latest/index.html). It is also
available as
[PDF](https://readthedocs.org/projects/evil/downloads/pdf/latest/) and
as [EPUB](https://readthedocs.org/projects/evil/downloads/epub/latest/).
# Mailing list
Evil is discussed at the
[gmane.emacs.vim-emulation](http://lists.ourproject.org/cgi-bin/mailman/listinfo/implementations-list)
mailing list.
# IRC
Visit us on `irc.libera.chat #evil-mode`.
# Contribution
See
[CONTRIBUTING.md](https://github.com/emacs-evil/evil/blob/master/CONTRIBUTING.md)
for guidelines for issues and pull requests.
|