| text-mode | text-mode: the fallback major mode for plain text — full vim grammar, no tree-sitter parser, no LSP, no mode-scoped option overrides. |
| rust-mode | rust-mode: the major mode for Rust files (.rs) — tree-sitter highlighting, folds, symbols, and text objects. |
| python-mode | python-mode: the major mode for Python files (.py, .pyw) — tree-sitter highlighting, folds, symbols, and text objects. |
| javascript-mode | javascript-mode: the major mode for JavaScript files (.js, .mjs, .cjs) — tree-sitter highlighting, folds, symbols, and text objects. |
| typescript-mode | typescript-mode: the major mode for TypeScript files (.ts, .mts, .cts) — tree-sitter highlighting, folds, symbols, and text objects. |
| tsx-mode | tsx-mode: the major mode for TSX files (.tsx) — tree-sitter highlighting, folds, symbols, and text objects. |
| go-mode | go-mode: the major mode for Go files (.go) — tree-sitter highlighting, folds, symbols, and text objects. |
| c-mode | c-mode: the major mode for C files (.c, .h) — tree-sitter highlighting, folds, symbols, and text objects. |
| cpp-mode | cpp-mode: the major mode for C++ files (.cpp, .cc, .cxx, .hpp, .hh, .hxx) — tree-sitter highlighting, folds, symbols, and text objects. |
| java-mode | java-mode: the major mode for Java files (.java) — tree-sitter highlighting, folds, symbols, and text objects. |
| ruby-mode | ruby-mode: the major mode for Ruby files (.rb, .ruby) — tree-sitter highlighting, folds, symbols, and text objects. |
| lua-mode | lua-mode: the major mode for Lua files (.lua) — tree-sitter highlighting, folds, symbols, and text objects. |
| bash-mode | bash-mode: the major mode for Bash files (.sh, .bash, .zsh, .fish) — tree-sitter highlighting, folds, symbols, and text objects. |
| html-mode | html-mode: the major mode for HTML files (.html, .htm, .xhtml) — tree-sitter highlighting, folds, symbols, and text objects. |
| css-mode | css-mode: the major mode for CSS files (.css) — tree-sitter highlighting, folds, symbols, and text objects. |
| json-mode | json-mode: the major mode for JSON files (.json) — tree-sitter highlighting, folds, symbols, and text objects. |
| toml-mode | toml-mode: the major mode for TOML files (.toml) — tree-sitter highlighting, folds, symbols, and text objects. |
| yaml-mode | yaml-mode: the major mode for YAML files (.yaml, .yml) — tree-sitter highlighting, folds, symbols, and text objects. |
| sql-mode | sql-mode: the major mode for SQL files (.sql) — tree-sitter highlighting, folds, symbols, and text objects. |
| markdown-mode | markdown-mode: the major mode for .md files AND for every help buffer — hand-written highlight queries, folds by section. |
| Tables | table-mode: pipe-table editing in markdown and org — walks the cells and realigns, t moves and inserts rows and columns, and your table's own style is kept. | wit-mode | wit-mode: the major mode for WIT files (.wit) — tree-sitter highlighting and folds for the WebAssembly Interface Type language. | Magit buffers & chords Every magit buffer kind, plus the shared minor modes that carry chords across all of them. | Topic | What it covers |
|---|
| magit-core-mode | magit-core-mode: the shared minor mode active in every magit buffer — gr to refresh, q to close, ]]/[[ to move between sections, TAB to fold, S/U/C/i/yr for repo-level operations, and A/_/O to act on the commit under the cursor. Diff-content chords, including ]f/[f, live on magit-hunk-mode. | | magit-nav-mode | magit-nav-mode: the magit chords that are safe in any buffer — section navigation and folding, split out so editable magit views can have them without the bare letters. | | magit-hunk-mode | magit-hunk-mode: the shared minor mode active in every magit buffer that renders a diff — s/u/x to stage, unstage and discard the hunk at cursor, a/- to move one hunk of a commit, ]c/[c to navigate, to visit the right version at the right line. It also owns the folds inside a diff: per file and per @@ hunk, nothing finer. | magit-global-mode | magit-global-mode: the always-active entry chords — C-x g opens magit-status, C-c g the repo dispatch transient, C-c f the file dispatch transient. | | magit-diff-mode | magit-diff-mode: a read-only diff buffer with line-, hunk- and file-level stage/unstage (s/u) — repo-wide against HEAD, or scoped to one file and one baseline. | | magit-commit-mode | magit-commit-mode: the commit compose buffer — a read-only staged diff on top, an editable message below, C-c C-c to commit and C-c C-k to abort. | | magit-revision-mode | magit-revision-mode: one historical commit in full — git show —stat -p, opened by on a SHA anywhere one appears. Read-only; visits a file as of that commit. | magit-file-revision-mode | magit-file-revision-mode: one file's content at one fixed reference — a commit SHA, or the index (staged). Read-only, never opened directly. | | magit-log-mode | magit-log-mode: the commit history graph — git log —oneline —graph —decorate, on a row opens that commit's detail. Repo-wide or scoped to one file. | magit-blame-mode | magit-blame-mode: a minor mode that annotates the file you are reading with a heading above each run of lines sharing a commit — your code keeps its syntax highlighting. | | magit-refs-mode | magit-refs-mode: every branch, remote-tracking branch and tag in one buffer, with each branch's ahead/behind against its upstream. shows the commit a ref points at; c checks out. | magit-branch-mode | magit-branch-mode: the local branch list — checks out, c runs the create wizard, d deletes (asks first), m merges into the current branch. | magit-remote-mode | magit-remote-mode: the configured remotes with their URLs — a adds, r renames, d removes, u sets the URL, p prunes. | | magit-submodule-mode | magit-submodule-mode: the configured submodules with git's own status marker — a adds, u updates, s syncs, d removes (asks first). | | magit-stash-mode | magit-stash-mode: the stash list — a apply, p pop, d drop (asks first), z create, to preview a stash's patch. | magit-stash-show-mode | magit-stash-show-mode: one stash's patch — git stash show -p, opened by in the stash list. Read-only, fixed content. | magit-rebase-mode | magit-rebase-mode: the interactive rebase todo — an editable pick list built from real history, C-c C-c to run it, C-c C-k to abort (asks first). | | magit-notes-mode | magit-notes-mode: the note attached to one commit, as an editable buffer. C-c C-c saves, C-c C-k closes without saving; clearing the buffer removes the note. | | magit-cherry-mode | magit-cherry-mode: which of your commits are not upstream yet, and which already are under a different SHA. opens a commit; A cherry-picks it. | Project diff | magit-project-diff-mode: identity marker for the project-diff view — every changed file as one editable multibuffer. | Completion & snippets The completion gate, the popup keymap, and each source that feeds candidates into it. | Topic | What it covers |
|---|
| completion-mode | completion-mode: the per-buffer gate for insert-mode completion — active on writable buffers, which is why is a no-op in help or oil. | completion-popup-mode | completion-popup-mode: active only while the completion popup is open — owns C-n / C-p / C-y / Tab / CR and the rest of the popup keymap. | | buffer-words-mode | buffer-words-mode: contributes the completion source that offers words already present in your buffers. | | path-completion-mode | path-completion-mode: contributes filesystem-path completion, so typing a path in a buffer offers real directory entries. | | tree-sitter-completion-mode | tree-sitter-completion-mode: contributes a syntax-aware completion source drawn from the buffer's parse tree. | | lsp-completion-mode | lsp-completion-mode: contributes the language-server completion source — the type-aware candidates, produced asynchronously. | | snippet-mode | snippet-mode: the per-buffer snippet gate — C-x C-s expands directly, and it brings the snippet completion source with it. | | snippet-completion-mode | snippet-completion-mode: puts snippet triggers into the completion popup alongside buffer words, tree-sitter symbols, and LSP candidates. | | active-snippet-mode | active-snippet-mode: live only while a snippet is expanding — Tab and S-Tab walk its placeholders, Esc leaves the session. | LSP surfaces Hover popups and the three log buffers you open when a server misbehaves. | Topic | What it covers |
|---|
| hover-mode | hover-mode: marks the hover popup buffer so it auto-dismisses when the document cursor moves. Content is markdown; markdown-mode renders it. | | lsp-log-mode | lsp-log-mode: the subsystem-wide lsp buffer — every LSP event across every server, streamed live. :lsp-log. | | lsp-server-log-mode | lsp-server-log-mode: one language server's own log — lsp::, scoped to a single instance. :lsp-server-log. | lsp-trace-log-mode | lsp-trace-log-mode: the LSP protocol trace for one server instance — the requests and responses on the wire. :lsp-trace. | | References view | lsp-references-mode: identity marker for a references view — a multibuffer with this minor active IS the references list, and it is editable. | LSP feature gates One per server capability. lsp-mode implies the whole set; turn one off to keep a server whose other features you want. | Topic | What it covers |
|---|
| lsp-diagnostics-mode | lsp-diagnostics-mode: the diagnostic surfaces — gutter severity marks, gl for the message under the cursor, and the ]d / [d walk. | | lsp-nav-mode | lsp-nav-mode: per-buffer gate for textDocument/definition, declaration, typeDefinition and implementation — turn it off and the go-to chords report no server for this buffer. | | lsp-hover-mode | lsp-hover-mode: per-buffer gate for textDocument/hover — turn it off and K stops asking the server; the popup no longer appears for this buffer. | | lsp-signature-mode | lsp-signature-mode: per-buffer gate for textDocument/signatureHelp — turn it off and parameter hints stop appearing in this buffer. | | lsp-symbols-mode | lsp-symbols-mode: per-buffer gate for textDocument/documentSymbol and workspace/symbol — turn it off and the symbol pickers come back empty for this buffer. | | lsp-code-action-mode | lsp-code-action-mode: per-buffer gate for textDocument/codeAction — turn it off and the code-action list is empty for this buffer. | | lsp-format-mode | lsp-format-mode: per-buffer gate for textDocument/formatting and rangeFormatting — turn it off and :lsp-format reports no server for this buffer. | | lsp-rename-mode | lsp-rename-mode: per-buffer gate for textDocument/rename — turn it off and :lsp-rename reports no server for this buffer. | | lsp-document-highlight-mode | lsp-document-highlight-mode: per-buffer gate for textDocument/documentHighlight — turn it off and occurrences stop being highlighted in this buffer. | | lsp-selection-range-mode | lsp-selection-range-mode: per-buffer gate for textDocument/selectionRange — turn it off and expand-selection falls back to the syntactic implementation. | | lsp-inlay-hint-mode | lsp-inlay-hint-mode: per-buffer gate for textDocument/inlayHint — turn it off and inlay hints disappear from this buffer. | | lsp-semantic-tokens-mode | lsp-semantic-tokens-mode: per-buffer gate for textDocument/semanticTokens — turn it off and highlighting falls back to tree-sitter alone. | | lsp-folding-mode | lsp-folding-mode: sets foldmethod=lsp on its buffers, so folds come from textDocument/foldingRange instead of indentation. | | lsp-progress-mode | lsp-progress-mode: marks a buffer whose server reports $/progress; the detail rides in the lsp modeline element. | Display toggles One minor mode per :set display option — each is the same state as its vim counterpart. | Topic | What it covers |
|---|
| line-numbers-mode | line-numbers-mode: Shows absolute line numbers in the gutter Same state as :set number / :set nu. | | relative-line-numbers-mode | relative-line-numbers-mode: Numbers each line by its distance from the cursor, so 8k / 3j can be read straight off the gutter Same state as :set relativenumber / :set rnu. | | wrap-mode | wrap-mode: Wraps long lines to the window width instead of scrolling horizontally Same state as :set wrap. | | whitespace-show-mode | whitespace-show-mode: Renders tabs, trailing spaces and other whitespace as visible glyphs Same state as :set list. | | current-line-highlight-mode | current-line-highlight-mode: Tints the line the cursor is on Same state as :set cursorline. | | read-only-mode | read-only-mode: Refuses edits to this buffer | Prompts & the minibuffer Every one-line input surface: the : line expanded, the search line, generic prompts, picker previews. | Topic | What it covers |
|---|
| command-line-expand-mode | command-line-expand-mode: C-x C-e grows the one-row : line into a multi-line band for editing a long command comfortably. | | search-line-mode | search-line-mode: the / and ? search line as a real one-line buffer — full editing, C-p/C-n history, and BS on an empty pattern cancels. | | prompt-line-mode | prompt-line-mode: the generic one-line prompt — whenever something asks you to type an answer, this is the buffer you type it in. | | preview-mode | preview-mode: marks a pane showing a picker preview — an isolated, read-only projection that never touches the buffer you came from. | Terminal & REPL The two modal states a terminal buffer sits in, and the REPL input convention. | Topic | What it covers |
|---|
| terminal-normal-mode | terminal-normal-mode: vim motions, search and yank over a terminal's scrollback — the mode a terminal buffer sits in when you're not typing at the shell. | | terminal-insert-mode | terminal-insert-mode: keystrokes go to the shell, not the editor. i enters it in a terminal buffer, C-\\ C-n leaves. | | repl-mode | repl-mode: makes i/a/o/A/I/O jump to the prompt and enter Insert, so 'start typing' always lands at the input line of a transcript buffer. | AI agent surfaces The conversation transcript, permission popups, and agent process logs. | Topic | What it covers |
|---|
| ai-conversation-mode | ai-conversation-mode: the agent conversation buffer — a read-only transcript with an editable prompt. CR sends, C-j newlines, C-c interrupts, C-t toggles trust. | | ai-permission-mode | ai-permission-mode: the popup answering an agent's permission request — CR selects the option under the cursor, Esc or q defers it. | | ai-log-mode | ai-log-mode: one agent process's log — ai::, streamed live. Where to look when an agent won't start or dies mid-turn. | pi-mode | pi-mode: marks the terminal buffer running the pi agent. :pi launches it; pi's own TUI owns the conversation, so lattice adds nothing on the hot path. | Synthetic buffers Read-only buffers the editor produces for you: help, messages, notifications, plugins, problems. | Topic | What it covers |
|---|
| help-mode | help-mode: the minor mode that turns a markdown buffer into a help buffer — read-only, with following links. | messages-mode | messages-mode: the messages audit log — every echo-area message lattice has shown, kept in a real buffer you can search, yank, and scroll back through. | | notifications-mode | notifications-mode: the notifications buffer — every live and queued notification, where runs a notification's action and d dismisses it. | plugins-mode | plugins-mode: the plugins manager buffer — a live status table of every loaded plugin, where lowercase acts on the row under the cursor and uppercase acts on every row. | | problems-minor-mode | problems-minor-mode: marks a multibuffer as the problems view — :copen groups error locations as editable excerpts, one per entry, grouped by file. | | diff-conflict-mode | diff-conflict-mode: the conflict-resolution surface. Activates on buffers whose diff session carries conflict regions, and contributes the fugitive-style d2o/d3o/d2p/d3p/dB chords. | | Plugin boundary trace | plugin-trace-mode: major mode for the plugin-trace buffer — the host/guest boundary trace, drained off-thread. | Shared behaviour minors Modes that exist so several buffer kinds share one implementation rather than a copied keymap. | Topic | What it covers |
|---|
| gr — refresh a view | refreshable-view-mode: gives a generated view the shared gr refresh chord; each view declares which of its own actions gr should run. | | Tab — fold a block | foldable-view-mode: gives a grouped view the shared / fold chords; each view declares which of its own actions should run. | Listing presentation | directory-listing-mode: the shared presentation minor for directory listings — icons, alignment and styling for oil and the file tree alike. |
|
| |
|
|
|
| | | | | | | |
|