Skip to main content
The [editor] section of config.toml controls how Vorto renders and edits text globally. Every field has a built-in default, so you only need to include the settings you want to change. Per-language overrides use the same field names, but placed directly in [languages.<name>] rather than under a nested [editor] key — see Per-language settings for details.

Editor settings

indent_width

Type: integer
Default: 2
The number of columns Vorto uses when it auto-indents a line — for example, when you press Enter inside a block. This controls how many spaces are inserted (or how many tab stops are advanced when use_tabs = true).

tab_width

Type: integer
Default: 4
The visual width of a literal \t character in the buffer. This does not affect auto-indent behavior (which is controlled by indent_width). Go-style codebases typically set this to 8 to match gofmt conventions.

use_tabs

Type: boolean
Default: false
When true, auto-inserted indentation (newlines, bracket level bumps) uses \t characters instead of spaces. The most common use is a per-language override for Go.

show_whitespace

Type: boolean
Default: false
When true, spaces and tabs in the buffer are rendered with visible marker glyphs — a middle dot for spaces and an arrow for tabs — drawn in a dim foreground color.

format_on_save

Type: boolean
Default: true
When true, Vorto runs the formatter before writing the file to disk. It uses the external formatter command configured for the language (formatter.command), or falls back to textDocument/formatting against the first attached LSP if no external formatter is configured. Set to false to disable all automatic formatting on save.

autoreload

Type: string (or boolean)
Default: "replace"
Values: "replace", "merge", "none"
Controls how Vorto reacts when the active buffer’s backing file changes on disk:
  • "replace" — prompt to reload the buffer; if it has unsaved edits the prompt warns that reloading replaces them (undo with u).
  • "merge" — follow the external edit via a three-way merge, writing <<<<<<< / ======= / >>>>>>> conflict markers only where both sides touched the same lines.
  • "none" — disable the watcher; reload manually with :reload.
The legacy boolean form still works: true maps to "replace" and false maps to "none". See Conflicts & reload for the full behavior.

theme

Type: string
Default: unset (Vorto’s built-in default colors)
The name of the active color theme — a built-in name such as "catppuccin-mocha" or the basename of a file in ~/.config/vorto/themes/. The :theme picker writes this key for you when you apply a theme. See Themes.

indent_guides

Type: boolean
Default: true
When true, Vorto draws vertical guide lines at each indentation level. The guide containing the cursor is painted in a distinct color. Set to false to hide all guides.

indent_guides_skip_levels

Type: integer
Default: 0
Suppresses the shallowest N indent guides. 0 shows every level. 1 hides the leftmost guide. 2 hides the two shallowest, and so on. When the deepest visible nesting is shallower than this value, no guides appear at all — prefer 0 for files that stay shallow most of the time.

indent_guide_style

Type: string
Default: "line"
Values: "line", "p10k"
Controls the visual style of indent guides:
  • "line" — draws a plain bar on every guide cell; the active scope’s bar is bold.
  • "p10k" — decorates the active scope with powerlevel10k-style glyphs: a top corner (╭─) at the first body row and a turn arrow (╰─>) at the cursor row, connected by .

indent_animation

Type: boolean
Default: false
When true, the active indent guide expands from the cursor row outward to the scope boundaries each time the cursor enters a new scope.

indent_animation_ms

Type: integer
Default: 100
Duration of the active-guide expand animation in milliseconds. This setting has no effect unless indent_animation = true.

compact_folders

Type: boolean
Default: true
Controls how the Space e file explorer renders directory chains. When true, a chain of directories where each link is the only child of its parent is folded into a single row — src/finder/explorer instead of three nested rows, the VS Code “compact folders” behavior. Folding stops at any directory that holds a file or a second sibling, so files always keep their own row. When false, every directory gets its own row.

Complete [editor] example

Cursor settings

The [cursor] section controls the cursor shape in each editor mode and whether it blinks. Vorto sends DECSCUSR escape sequences to your terminal, so the effect depends on terminal support.

blinking

Type: boolean
Default: false
When true, the cursor blinks in all modes (unless terminal shape is used, which defers blinking behavior to the terminal itself).

normal, insert, visual, visual_line, visual_block

Type: string
Values: "block", "bar", "underbar", "terminal"
Shape of the cursor in each mode. The defaults are:
  • "block" — solid filled rectangle
  • "bar" — thin vertical line (also accepted as "line")
  • "underbar" — thin horizontal underline (also accepted as "underscore" or "underline")
  • "terminal" — defer to the terminal’s own default cursor shape; blinking is ignored for this shape (also accepted as "default")

Complete [cursor] example