https://github.com/emacs-evil/evil Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code + Explore + All features + Documentation + GitHub Skills + Blog * Solutions + For + Enterprise + Teams + Startups + Education + By Solution + CI/CD & Automation + DevOps + DevSecOps + Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles + Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this organization All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} emacs-evil / evil Public * Notifications * Fork 252 * Star 2.8k The extensible vi layer for Emacs. License GPL-3.0 license 2.8k stars 252 forks Star Notifications * Code * Issues 230 * Pull requests 27 * Actions * Projects 0 * Security * Insights More * Code * Issues * Pull requests * Actions * Projects * Security * Insights emacs-evil/evil This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 5 branches 40 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/e] Use Git or checkout with SVN using the web URL. [gh repo clone emacs-] Work fast with our official CLI. Learn more. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @axelf4 axelf4 Simplify evil-delimited-arguments ... 9628041 Mar 3, 2023 Simplify evil-delimited-arguments 9628041 Git stats * 2,550 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github Remove 24.5 from tests July 6, 2022 00:38 doc Update docs October 24, 2022 21:39 lib Remove vendored library October 8, 2020 16:35 scripts Mention NonGNU ELPA August 8, 2021 10:56 .dir-locals.el Add a dir-locals file September 4, 2017 16:54 .gitattributes Initial commit March 1, 2011 22:01 .gitignore Add texinfo file December 19, 2019 14:52 CHANGES.org Ensure evil-save-state resets the original buffer when finished (fix ... August 2, 2013 09:38 CONTRIBUTING.md Reword package loading notes May 10, 2017 22:40 COPYING Add GPL 3 license information to all source files July 30, 2012 14:54 Cask Bump version to 1.15.0 April 25, 2022 22:32 Makefile use variables to sed injection August 29, 2022 11:49 README.md Add NonGNU ELPA badge August 10, 2021 00:21 evil-command-window.el Small fix in 'evil-command-window-ex June 28, 2022 21:29 evil-commands.el Restore match data after eval:ing replacement February 20, 2023 19:05 evil-common.el Simplify evil-delimited-arguments March 3, 2023 11:06 evil-core.el Specialize evil-sort for case of two arguments January 28, 2023 22:53 evil-development.el Bump version to 1.15.0 April 25, 2022 22:32 evil-digraphs.el Bring evil-digraphs up to date with vim September 28, 2022 18:37 evil-ex.el Optimize Ex command completion February 14, 2023 10:56 evil-integration.el Wrap just show-paren-data-function in advice January 10, 2023 11:04 evil-jumps.el Fix Fundamental mode hack January 10, 2023 21:25 evil-keybindings.el Bump version to 1.15.0 April 25, 2022 22:32 evil-macros.el Make sure to restore state after executing motion January 20, 2023 21:22 evil-maps.el Add evil-scroll-end-column & evil-scroll-start-column January 14, 2023 16:40 evil-pkg.el Bump version to 1.15.0 April 25, 2022 22:32 evil-repeat.el doc: follow the Emacs Lisp Style Guide September 29, 2022 15:17 evil-search.el Restore match data after eval:ing replacement February 20, 2023 19:05 evil-states.el Restore penultimate replacement on February 3, 2023 20:40 evil-test-helpers.el Bump version to 1.15.0 April 25, 2022 22:32 evil-tests.el Restore match data after eval:ing replacement February 20, 2023 19:05 evil-types.el Re-add return-type evil-operator-range argument January 15, 2023 22:46 evil-vars.el Compile Ex parser February 14, 2023 10:56 evil.el Update project Keywords January 6, 2023 22:12 View code Installation Dependencies Documentation Mailing list IRC Contribution README.md An extensible vi layer for Emacs Build status MELPA MELPA Stable NonGNU ELPA Documentation Status License: GPL v3 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) * 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. About The extensible vi layer for Emacs. Topics vim editor emacs evil editing Resources Readme License GPL-3.0 license Stars 2.8k stars Watchers 38 watching Forks 252 forks Releases 40 tags Packages 0 No packages published Contributors 142 * @epsil * @tomdl89 * @wasamasa * @TheBB * @justbur * @axelf4 * @edkolev * @cofi * @bling * @YorkZ * @leungbk + 131 contributors Languages * Emacs Lisp 99.6% * Other 0.4% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.