mirror of
https://github.com/erickgnavar/evil-emacs-kickstart.git
synced 2026-04-19 21:53:04 +00:00
A minimal emacs config focused for vim modal editing
- Emacs Lisp 100%
add lexical binding headers and move inhibit-startup-message to early.init.el, also disable scroll |
||
|---|---|---|
| early-init.el | ||
| init.el | ||
| README.md | ||
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
- Backup your current config, if any
- Clone the repo
git clone https://github.com/erickgnavar/evil-emacs-kickstart.git ~/.emacs.d - Start
emacs(packages will be installed automatically on first launch) - 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
Fuzzy search
Find files inside a project by typing terms.
Grep search
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 |