Documentation Index
Fetch the complete documentation index at: https://docs.jylhis.com/llms.txt
Use this file to discover all available pages before exploring further.
Jotain follows Emacs conventions: only global rebindings live in
lisp/init-keys.el;
per-package bindings stay colocated with the package’s use-package block.
which-key is enabled by
default, so after any prefix key a paged menu of available continuations
appears in the echo area. The prefix labels listed below are registered via
which-key-add-key-based-replacements in init-keys.el, so they show up in
those menus instead of the bare command names.
C-c — user namespace
Reserved by Emacs convention for user bindings. Jotain claims the
following:
| Key | Label | Command |
|---|
C-c a | org-agenda | org-agenda |
C-c c | org-capture | org-capture |
C-c d | dirvish | dirvish |
C-c D | dirvish-side | dirvish-side |
C-c g | magit-file | magit-file-dispatch |
C-c h | consult-history | consult-history |
C-c i | consult-info | consult-info |
C-c k | consult-kmacro | consult-kmacro |
C-c l | org-store-link | org-store-link |
C-c m | — | consult-man |
C-c n | org-roam prefix | n f find, n i insert, n c capture |
C-c o | combobulate prefix | structural editing dispatch |
C-c r | eglot-refactor prefix | r r rename, r f format, r a actions, r o organize-imports, r q quickfix |
C-c t | toggle-theme | auto-dark-toggle-appearance |
C-c RET | gptel-send | gptel-send |
C-c M-RET | gptel-menu | gptel-menu |
C-c M-x | consult-mode-command | consult-mode-command |
C-c C-' | claude-code-ide | claude-code-ide-menu |
C-c C-< | — | mc/mark-all-like-this |
C-x — control namespace
Built-in Emacs prefix extended with a handful of Jotain additions:
| Key | Label | Command |
|---|
C-x b | — | consult-buffer |
C-x g | magit-status | magit-status |
C-x M-g | magit-dispatch | magit-dispatch |
C-x j | rotate-window-split | jotain-toggle-window-split |
C-x p b | — | consult-project-buffer |
C-x r b | — | consult-bookmark |
C-x t b | — | consult-buffer-other-tab |
C-x u | vundo | vundo |
C-x 1 | — | jotain-nav-toggle-delete-other-windows |
C-x P | project (projection) prefix | projection-map — multi-language project commands |
Other global bindings
Single-keystroke globals that don’t fit a C-c / C-x namespace —
window switching, spell-check, region growth, and multi-cursor.
| Key | Command |
|---|
M-o | other-window |
M-$ | jinx-correct |
C-M-$ | jinx-languages |
C-= | expreg-expand |
C-> | mc/mark-next-like-this |
C-< | mc/mark-previous-like-this |
Disabled by default
| Key | Reason |
|---|
C-z | Accidentally suspending Emacs from a GUI frame is never what you want |
C-x C-z | Same |
Mode-local overrides
A few major modes rebind C-c leaves locally:
dired-mode: C-c C-e → wdired-change-to-wdired-mode (toggle writable dired)
helpful-mode: C-c C-d → helpful-at-point
sops-mode: C-c C-c save, C-c C-k cancel, C-c C-d edit
embark exports: C-c C-o → embark-export
Window navigation
Shift + arrow keys move focus between split windows, courtesy of the
built-in windmove-default-keybindings. M-o cycles through windows
linearly; C-x j rotates a two-window layout between horizontal and
vertical splits.
Why no leader-key framework?
The article “general.el to conquer Emacs keybindings”
makes a persuasive case for adopting general.el
as a unified keybinding layer. Jotain considered and rejected the
migration: general.el’s primary differentiator is :states for
evil-mode integration, which Jotain does not use, and Emacs 30’s
keymap-set plus built-in which-key plus use-package :bind already
cover the article’s discoverability and leader-key ergonomics without
an extra dependency. The spirit of the article — memorable,
categorised, self-documenting prefixes — is realised here through the
which-key-add-key-based-replacements table in init-keys.el. See
Inspiration & Resources for the full rationale.