Basic usageλ︎
Projects Workspaces Evil Tools
Command Menuλ︎
Space is the leader key that opens the main Doom Emacs command menu
, is the localleader key that opens a context specific menu, with commands for the current major mode (clojure, markdown, yaml, etc.)
Keycast shows key bindings and commands
Space t k toggles keycast mode which displays the key bindings and associated command in the mode-line
Line numbersλ︎
Space t l toggles consecutive line numbers
Themeλ︎
Space h t lists the theme names available, select a theme name to change the theme instantly.
Confirm Theme should run elisp code
Doom prompts to confirm if elisp should be run if included in a theme. A theme can be marked as safe, so further confirmation is not required.
Zoom Frame and textλ︎
Space t b to toggle Doom Big mode which applies doom-big-font
to text across all buffers, essentailly scaling the Emacs frame.
Leaving Doom Big mode resets the text size to doom-font
. This is the recommended approach to scaling Doom Emacs.
Set Doom font sizes in config.el
Set a standard size font for general use and a big font for demos, screencasts, pairing, etc. The following configuration is used in practicalli/doom-emacs-config
;; See 'C-h v doom-font' for documentation and more examples of what they accept. For example:
;;(setq doom-font (font-spec :family "Fira Code" :size 12 :weight 'semi-light)
;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13))
(setq doom-font (font-spec :family "Fira Code" :size 14)
doom-big-font (font-spec :family "Fira Code" :size 24)
doom-variable-pitch-font (font-spec :family "Ubuntu" :size 16))
Alternatively the text in a specific buffer can be scalled, although this does not scale the mini-buffer and its affects are not applied to any other buffer.
Ctrl+x Ctrl++ to increase the size of text in the current buffer
Ctrl+x Ctrl+- to decrease the size of text in the current buffer
Ctrl+x Ctrl+0 to reest the size of text in the current buffer to the default doom-font
size
Filesλ︎
Space f f to list files in current directory or create relative files and directories
Space p f to list files in current project, providing a quick way to open any file in the project by filtering the list
Create files and directories
Space f f and typing a path and file will create the file and intermediate directories if they do not exist
Format toolsλ︎
, " is typically the default format menu if available for a language major mode, calling tools specific to each language.
Automatic formatting whilst typing is supported when a language module includes the +lsp
feature and a suitable LSP language server has been installed.
Doom format module to be redeveloped
LSP language servers are the most effective way to support formatting in Doom Emacs, as the Doom Emacs Format module is to be rewritten.
Whitespace cleanupλ︎
Space c w to remove whitespace from end of lines and additional blank lines from the end of the file.
ws-buttler-mode
is enabled by default and removes additional whitespace from changed lines.
Markdown exclued from ws-buttler
ws-buttler excludes markdow mode from ws-buttler mode (there is a rare case where additional whitespace at the end of lines are used as a visual break)
practicalli/doom-emacs-config includes Markdown mode in ws-buttler
Format Source Codeλ︎
Formats source code according to the programming language format:
= = formats the current line
= formats a selected region
> > indents the current line
> indents the selected region
Referencesλ︎
- Keybind reference sheet - doom discourse
- Doom Getting Started Guide