emacs-evil/evil

The extensible vi layer for Emacs.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 55 seconds ago
Type:Plugin / ExtensionCategory(s):Editors & IDEsDeveloper Tools
Added to GitGenius on September 18th, 2026
Created on January 19th, 2017
Open Issues & Pull Requests: 311 (+0)
GitHub issues: Enabled
Number of forks: 307
Total Stargazers: 3,856 (+0)
Total Subscribers: 42 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 32.5 hours
Mean response time: 149.1 days
90th percentile: 333.2 days
Tracked items: 67

Most active contributors

Sign in to see contributor activity.

How this project is maintained

96% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Three people close 63% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 45
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 762 days
Stale 30+ days: 43
Stale 90+ days: 37

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (5)
  • help wanted (2)
  • major (2)
  • minor (2)
  • elpa (1)
  • question (1)

Detailed Description

Evil is an extensible vi layer for Emacs that brings Vim keybindings and modal editing to Emacs.

Evil solves the problem of Vim users wanting to work within Emacs without abandoning the modal editing model and key sequences they rely on. It implements a complete vi and Vim emulation layer by mapping Vim commands and motions to Emacs operations, allowing users to navigate, edit, and manipulate text using familiar Vim patterns while leveraging Emacs' underlying capabilities and extension ecosystem.

Developers accustomed to Vim who are considering Emacs for its customization depth, package ecosystem, or integration with other tools should evaluate Evil. It suits projects where team members have strong Vim muscle memory and want to avoid the friction of learning Emacs' default keybindings. The tool is particularly valuable for those who want Emacs' power without completely relearning their editing workflow. Evil is designed as an extensible layer, meaning it can be customized and extended to match individual preferences or project-specific needs.

The project maintains steady activity with regular commits addressing bug fixes and feature improvements. Pull requests receive consistent review and integration. The codebase shows ongoing refinement of the vi emulation layer and responsiveness to user-reported issues. Development demonstrates a commitment to compatibility across different Emacs versions and careful handling of edge cases in modal editing behavior.