Skip to content

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

~/.config/doom/config.el
;; 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.

LSP Language Server install

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

.config/doom/config.el
;; Delete whitespace on save, including in markdow-mode
(setq ws-butler-global-exempt-modes '(special-mode comint-mode term-mode eshell-mode diff-mode))

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λ︎