Overview
This Doom Emacs configuration provides a comprehensive development environment with vim keybindings, enhanced UI features, and support for multiple programming languages including Haskell, Elixir, JavaScript, and more.Key Features
Evil Mode
Vim keybindings everywhere for efficient editing
Project Management
Neotree integration for file navigation
Multi-Language Support
Configured for 15+ programming languages
Git Integration
Magit for powerful version control
Installation
Copy Configuration Files
Place the configuration files in
~/.doom.d/:config.el- Main configurationinit.el- Module selectionpackages.el- Package declarations
Configuration Files
config.el
Main configuration file with custom keybindings, theme settings, and user preferences.Custom Keybindings
config.el
Keybinding Reference
Keybinding Reference
| Key | Action |
|---|---|
F8 | Toggle Neotree file browser |
Ctrl+Tab | Switch between windows |
Meta+Down | Enlarge window vertically |
Meta+Up | Shrink window vertically |
Meta+Right | Enlarge window horizontally |
Meta+Left | Shrink window horizontally |
User Settings
config.el
Font Configuration
config.el
Plugins
config.el
init.el
Module configuration that defines which Doom modules are enabled.Enabled Modules
- Completion
- UI
- Editor
- Tools
- company: Code completion backend
- ivy: Search engine for files and commands
Language Support
init.el:111
packages.el
Additional packages beyond the default Doom modules.packages.el
After modifying
packages.el, run doom sync to install the new packages.Usage
Basic Commands
Help System
SPC h d h- Access Doom documentationK- View documentation for symbolgd- Jump to definition
File Navigation
SPC .- Find fileSPC /- Search projectF8- Toggle Neotree
Window Management
Ctrl+Tab- Switch windowsMeta+Arrows- Resize windowsSPC w- Window commands
Git Operations
SPC g g- Magit statusSPC g b- Git blameSPC g l- Git log
Terminal Integration
SPC o t for a full-featured terminal inside Emacs.
Code Editing Features
Customization
Changing the Theme
Editconfig.el and modify the doom-theme variable:
Adding More Languages
Editinit.el in the :lang section and add desired language modules:
doom sync to apply changes.
Installing Additional Packages
Add topackages.el:
doom sync and restart Emacs.
Troubleshooting
Reload Configuration
Reload Configuration
SPC h r r- Reload Doom- Or run
doom syncfrom terminal
Check for Issues
Check for Issues
Update Doom
Update Doom