A minimal emacs config focused for vim modal editing
  • Emacs Lisp 100%
Find a file
Erick Navarro 811cb02334 chore: improvements in init.el and early-init.el
add lexical binding headers and move inhibit-startup-message to
early.init.el, also disable scroll
2026-03-08 18:23:27 -06:00
early-init.el chore: improvements in init.el and early-init.el 2026-03-08 18:23:27 -06:00
init.el chore: improvements in init.el and early-init.el 2026-03-08 18:23:27 -06:00
README.md chore: improve README.md 2026-03-08 18:18:33 -06:00

Evil Emacs Kickstart

A simple Emacs starter kit for using Emacs as a daily driver with evil-mode, focused on programming.

Prerequisites

  • Emacs 29 or later
  • ripgrep installed and available in PATH (used for project-wide grep search)

Installation

  1. Backup your current config, if any
  2. Clone the repo git clone https://github.com/erickgnavar/evil-emacs-kickstart.git ~/.emacs.d
  3. Start emacs (packages will be installed automatically on first launch)
  4. Enjoy 🎉

What's Included

Package Purpose
evil Vim emulation
evil-matchit Jump between matching tags/pairs with %
evil-commentary Comment/uncomment with gc
vertico Vertical completion UI
marginalia Rich annotations in completion candidates
orderless Fuzzy/orderless completion style
consult Search commands (ripgrep, buffer lines, yank ring)
company In-buffer completion at point
doom-modeline Modeline with evil state, git branch, battery
diff-hl Fringe markers for version control changes
which-key Displays available keybindings after a prefix

Features

Find files inside a project by typing terms.

Search project file contents using ripgrep.

Modeline

  • Active evil mode (normal, insert, visual, etc.)
  • Project-relative file path
  • Battery status
  • Major mode
  • Current git branch

Git change indicators

Fringe markers (on the left) showing all uncommitted changes in the current buffer.

Key Bindings

All leader-key actions use SPC (space bar) in normal/visual mode.

Action Key binding Function
Select interactive function SPC SPC execute-extended-command
Grep project file contents SPC a consult-ripgrep
Search for file in project SPC e project-find-file
Find file by path SPC f find-file
Kill current buffer SPC k kill-buffer
Toggle line numbers SPC l display-line-numbers-mode
Create a new buffer SPC n evil-buffer-new
Fuzzy search in current buffer SPC q consult-line
Paste from kill ring SPC y consult-yank-from-kill-ring
Comment/uncomment gc evil-commentary
Previous buffer M-[ previous-buffer
Next buffer M-] next-buffer