7.9 KiB
Top 10 Things New Doom Emacs Users Should Know
🚀 Getting Started with Doom Emacs
Welcome to Doom Emacs! Here are the 10 most essential things every new user should master to get productive quickly.
1. 🗝️ Master the Leader Key: SPC
The Space key is your gateway to everything in Doom Emacs.
SPCis called the "leader key" - it opens menus for almost every action- After pressing
SPC, you'll see helpful hints showing available commands - Commands are organized logically:
SPC ffor files,SPC gfor git,SPC pfor projects
Essential starter commands:
SPC f f- Find/open filesSPC f s- Save current fileSPC q q- Quit EmacsSPC h- Help menu (very important!)
Pro Tip: If you forget what comes next, just press SPC and wait - Doom
will show you the options!
2. 📁 Navigate Files Like a Pro
File navigation is fundamental to productivity.
SPC .- Open file explorer (Dired) in current directorySPC f f- Find file anywhere on your systemSPC f r- Recent files you've worked onSPC SPC- Find file in current project (super useful!)
📋 See the complete guide: emacs.file-explorer.cheatsheet.md
Quick workflow:
- Open your project directory in terminal
- Start Emacs:
emacsordoom run - Use
SPC .to browse files orSPC SPCto quickly find files
3. ⌨️ Understand Evil Mode (Vim Keybindings)
Doom Emacs uses Vim-style keybindings by default.
Basic movement (in Normal mode):
h j k l- Left, down, up, rightw- Jump to next wordb- Jump back one wordgg- Go to top of fileG- Go to bottom of file
Mode switching:
i- Enter Insert mode (to type text)ESC- Return to Normal modev- Visual mode (to select text)
If you're not familiar with Vim: Don't panic! You can learn gradually. The basics above will get you started.
4. 🔍 Search and Replace Efficiently
Finding and changing text is a daily task.
/- Search forward in current buffer?- Search backward in current buffern/N- Next/previous search resultSPC s s- Search in current buffer (interactive)SPC s p- Search in entire projectSPC s r- Search and replace in current buffer
For project-wide search: SPC s p is incredibly powerful for finding code
across your entire project.
5. 🗂️ Work with Buffers and Windows
Buffers are open files, windows are how you view them.
Buffer management:
SPC b b- Switch between open buffersSPC b k- Kill (close) current bufferSPC b s- Save current buffer
Window management:
SPC w v- Split window verticallySPC w s- Split window horizontallySPC w c- Close current windowSPC w w- Switch between windowsC-h j/k/h/l- Navigate between windows (Vim-style)
Think of it this way: You can have many files open (buffers) but only see some of them at once (windows).
6. 🛠️ Configure and Customize Doom
Doom is highly configurable, but start simple.
Key files to know about:
~/.doom.d/config.el- Your personal configuration~/.doom.d/init.el- Enable/disable Doom modules~/.doom.d/packages.el- Add extra packages
Essential commands:
SPC h r r- Reload Doom configurationSPC h d h- Doom help and documentationdoom doctor- Check for configuration issues (run in terminal)doom upgrade- Update Doom (run in terminal)
Start small: Don't try to customize everything at once. Use Doom's defaults first, then gradually tweak things.
7. 📝 Master Text Editing Basics
Essential editing commands that work in any mode.
In Normal mode (Evil):
x- Delete character under cursordd- Delete entire lineyy- Copy (yank) entire linep- Paste after cursoru- UndoC-r- Redo
In Insert mode:
C-w- Delete word backwardC-u- Delete to beginning of line
Selection and manipulation:
v- Start visual selectionV- Select entire lined- Delete selected texty- Copy selected text
8. 💻 Use Code Completion and Language Features
Doom comes with excellent code support out of the box.
Auto-completion:
- Just start typing - completions appear automatically
TAB- Accept completionC-n/C-porj/k- Navigate completion options
Code navigation:
gd- Go to definitiongr- Find referencesK- Show documentationSPC c a- Code actions (refactor, fix, etc.)
📋 See the complete guide: emacs.code-completion.cheatsheet.md
Languages supported: Most popular languages work out of the box (Python, JavaScript, C/C++, Rust, Go, etc.)
9. 📚 Use Built-in Help System
Doom has excellent built-in documentation.
SPC h- Main help menuSPC h d h- Doom-specific helpSPC h k- Describe key (what does this key do?)SPC h f- Describe functionSPC h v- Describe variableC-h m- Show help for current mode
When you're lost: Press SPC h and explore. The help system is
comprehensive and always available.
Pro Tip: If you press a key combination and don't know what happened, use
SPC h l to see recent commands.
10. 🔧 Learn Git Integration (Magit)
Magit is one of the best Git interfaces available anywhere.
SPC g g- Open Magit status (your main Git command!)s- Stage files or hunksc c- Commit changesP P- Push to remoteF F- Pull from remote
📋 See the complete guide: emacs.magit.cheatsheet.md
Basic workflow:
SPC g g- See what's changedson files to stage themc cto commit (write message, thenC-c C-c)P Pto push
Why it's essential: If you work with Git, Magit will transform your workflow. It's visual, fast, and incredibly powerful.
🎯 Quick Start Checklist
Once you've read through the above, try this 5-minute workflow:
- ✅ Open Doom:
emacsin terminal - ✅ Find a file:
SPC f fand open any text file - ✅ Edit something: Press
i, type text, pressESC - ✅ Save:
SPC f s - ✅ Open file explorer:
SPC . - ✅ Get help:
SPC h - ✅ Split window:
SPC w v - ✅ Switch buffers:
SPC b b - ✅ Search project:
SPC s p(if in a project) - ✅ Quit:
SPC q q
📖 Next Steps: Dive Deeper
Once you're comfortable with the basics above:
-
Read the specific cheatsheets:
emacs.file-explorer.cheatsheet.md- File managementemacs.code-completion.cheatsheet.md- Coding featuresemacs.magit.cheatsheet.md- Git integrationemacs.markdown.cheatsheet.md- Markdown editing
-
Customize gradually: Start tweaking your
config.el -
Learn your language: Explore language-specific features
-
Join the community: Doom Discord, Reddit, GitHub discussions
🆘 When You're Stuck
Emergency commands:
C-g- Cancel current command (like pressing ESC)SPC q q- Quit EmacsSPC h d h- Doom help:q- Quit current buffer (Vim command)
Remember: Every expert was once a beginner. Don't try to learn everything at once. Master these 10 things first, then gradually explore more advanced features.
Most important tip: Use SPC and explore the menus. Doom is designed to be
discoverable - let it guide you!
🎓 Learning Philosophy
Start with workflows, not features: Instead of memorizing every keybinding, learn complete workflows for tasks you do daily (editing files, committing code, searching projects).
Use the defaults first: Doom's defaults are excellent. Resist the urge to customize everything immediately.
One thing at a time: Master file navigation before diving into advanced code features. Build your skills incrementally.
Practice daily: Use Doom for real work, even if you're slower at first. Muscle memory develops with practice.
Welcome to Doom Emacs! 🚀