A simple Emacs starter kit for using Emacs as a daily driver with evil-mode, focused on programming.
- Emacs 29 or later
- ripgrep installed and available in
PATH(used for project-wide grep search)
- 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 🎉
| 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 |
Find files inside a project by typing terms.
Search project file contents using ripgrep.
- Active evil mode (normal, insert, visual, etc.)
- Project-relative file path
- Battery status
- Major mode
- Current git branch
Fringe markers (on the left) showing all uncommitted changes in the current buffer.
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 |