HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
emacs-evil
evil
Emacs Lisp2017–2026
emacs-evil / evil

evil

The extensible vi layer for Emacs.

39Distinct people
46Mentions
1Explicit recommenders
3.9KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

The extensible vi layer for Emacs.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

> What both Emacs and Vim have in common is an intimidating learning curve. You can't just dip your toe in. Another thing that Emacs and Vim have in common is Vim…

nequo used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 8–Nov 15 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/15/2026, 9:02:44 AM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year46 dated mentions

Observed mentions: 2017-04-15 22:23:13 UTC to 2026-07-30 17:45:40 UTC.

0369122017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 4 mentions; 0 submissions, 4 comments20212022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 10 mentions; 0 submissions, 10 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 12 mentions; 1 submissions, 11 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC514
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC202
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC303
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC707
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC404
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC10010
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC12111
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC202
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC000
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Evil is an extensible vi layer for Emacs. It emulates the main features of Vim, and provides facilities for writing custom extensions. Also see our page on EmacsWiki. Installation See the official documentation for installation instructions. We recommend using package.el. As a quickstart, you can add the following code to your Emacs init file. ;; 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 package (available via GNU ELPA) The undo-fu package (available via MELPA and NonGNU ELPA) For the motions g; g, and for the last-change-register ., Evil requires the goto-chg.el 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. Documentation The latest version of the documentation is readable online here. It is also available as PDF and as EPUB. Mailing list Evil is discussed at the gmane.emacs.vim-emulation mailing list. IRC Visit us on irc.libera.chat #evil-mode. Contribution See CONTRIBUTING.md for guidelines for issues and pull requests.
Read the full README on GitHub

What Hacker News says

4 sources
Check out evil mode [0] which brings vim keybindings/modes into Emacs, so you will have easier time checking out emacs and making your own opinion. I still use both, vim for quick edits/on the systems where I don't have an emacs config. For me the reason to prefer Emacs would be its extensibility and ability to modify pretty much any behaviour. I'm no fan of elisp, but it's much more reasonable than vimscript. [0] https://github.com/emacs-evil/evil#readme
In Emfy: Emacs for You – Quickly set up vanilla Emacs for editing
Compared to many I am a relatively new emacs user, back when I began programming I let myself get intimidated by the scary stories told about Emacs and Vim configuration. Turns out a huge emacs configuration is not needed, in fact I notice my emacs config actually started to become smaller over the recent times. It's hard to express how much I value emacs now and the only regret I have is that I did not give it a chance earlier when I still exclusively used "modern" editors and IDEs. Another aspect I see rarely mentioned is the emacs evil[1], it basicelly provides a full vi layer, it's much more than your average "vi keybindings" plugin. Emacs vs Vim? Not a question I have to give any thought when I can use both and switch between them without much effort. [1]: https://github.com/emacs-evil/evil
In The values of Emacs, the Neovim revolution, and the VSCode gorilla

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.