Справочник

Справочник YAML

Каждый ключ конфигурации, его значение по умолчанию и полный шаблон.

Все ключи конфигурации

Таблица содержит каждый ключ стандартной конфигурации. Управляющие параметры CLI, например --monitor, --pager, --interactive, --html, --preset, --init-config, не являются ключами файла. В YAML используется snake_case.

Настройка По умолчанию Назначение
theme "terminal" выбор встроенной или пользовательской темы (по умолчанию terminal).
code_theme null отдельная палитра подсветки кода. Без явного выбора код использует палитру темы документа.
syntaxes_dir null рекурсивная загрузка пользовательских .sublime-syntax поверх встроенного набора. Пользовательские определения имеют приоритет при совпадении со встроенными.
theme_info false Булево значение, включающее сведения о палитре вместе с выводом; имя файла передаётся позиционным аргументом CLI.
custom_theme null переопределение цветов интерфейса поверх выбранной темы.
inline_style {} переопределение оформления emphasis, strong, strong_emphasis, code, strikethrough и highlight. Записи формата element:property=true,property=false разделяются ;; доступны свойства backticks, bold, italic, underline и strikethrough (например, --inline-style 'code:backticks=false,bold=true;highlight:underline=true').
custom_code_theme null переопределение цветов подсветки кода в том же формате, что и --custom-theme.
custom_callout null переопределение или добавление подписей callout.
custom_code_block null переопределение иконки, подписи и псевдонимов для конкретных языков блоков кода. Несколько языков разделяются ;, опции внутри одного языка - ,, а псевдонимы - | (например, python:icon=*,label=Python,aliases=py|py3;rust:icon=R). Работает для любого указанного языка, даже если его нет во встроенной карте иконок. Подсветка синтаксиса применяется только к языкам, которые поддерживает текущая логика подсветки mdv. Используйте default:icon=..., чтобы задать fallback-иконку для неизвестных языков.
cols null Ширина при отсутствии определённой ширины терминала; явный CLI --cols важнее определения терминала.
margin null задаёт левый и/или правый отступ. Неуказанная сторона равна 0.
tab_length 4 замена символов табуляции на N пробелов (по умолчанию 4).
color auto управление терминальным оформлением. auto включает ANSI и OSC 8 только при выводе в терминал, always сохраняет оформление в pipe, а never выводит отрендерированный текст без оформления.
color_depth auto автоматическое определение палитры терминала или её явное ограничение. Действует на цвета документа и интерактивного интерфейса; по умолчанию auto.
wrap "char" стратегия переноса текста, кода, callout-блоков и содержимого ячеек таблиц (по умолчанию char).
reflow false склеивает внутриабзацные мягкие переносы строк (soft breaks) и заново заполняет каждую строку до ширины переноса, так что жёстко разбитый исходник перетекает под узкие экраны. Требует включённого переноса; жёсткие переносы сохраняются.
table_wrap "fit" геометрия таблиц: подогнать ячейки, разделить колонки на блоки или разрешить переполнение (по умолчанию fit). Точки переноса в ячейках определяет --wrap.
table_borders false возвращает полные скруглённые рамки у таблиц.
heading_layout "level" схема выравнивания заголовков (по умолчанию level).
show_heading_markers false добавляет перед заголовками markdown-маркеры, соответствующие их уровню.
smart_indent false сглаживание скачков отступов между уровнями заголовков в режиме level.
table_smart_indent false автоматический подбор отступа таблицы в зависимости от доступной ширины.
block_spacing null переопределяет количество пустых строк сверху и снизу для отдельных блоков. Неуказанные стороны сохраняют стандартные значения, а отступы соседних блоков схлопываются до большего значения.
horizontal_rule_style "pretty" рисует разделители Markdown и HTML <hr> с декоративными символами по краям или сплошной линией.
hide_comments false скрытие Markdown-комментариев в итоговом выводе.
front_matter "hidden" управление YAML-словарём свойств с точными разделителями ---, начинающимся с первой строки. hidden скрывает его; panel показывает панель свойств; table выводит колонки «Property» и «Value»; plain - нормализованные строки «ключ: значение»; inline объединяет свойства в одну переносимую строку; blocks помещает значение под ключом; code выводит YAML с подсветкой; source разбирает весь ввод как обычный Markdown.
render_html false рендер встроенных HTML-фрагментов как форматированного терминального содержимого вместо буквального показа тегов. Вложенность HTML ограничена 64 DOM-элементами.
line_numbers false добавление номеров строк в терминальный вывод и pager. Без режима нумеруются отрендеренные строки; source использует физические строки Markdown, separator добавляет разделитель, а "source;separator" сочетает оба режима.
code_line_numbers false нумерация строк внутри каждого блока кода. Без режима нумеруется каждая перенесённая терминальная строка; source нумерует физические строки кода и оставляет продолжения без номера, separator добавляет разделитель, а "source;separator" сочетает оба режима.
show_empty_elements false отображение обычно скрытых пустых заголовков, списков, цитат, блоков кода и таблиц.
code_guessing true Эвристическое определение языка; false соответствует --no-code-guessing.
code_block_style "basic" стиль оформления блоков кода: безрамочный блок с отступом, одинарная граница или полная рамка. По умолчанию подпись скрыта; show-name показывает название языка, show-icon - его иконку, обе опции можно комбинировать (по умолчанию basic).
math_block_style "basic" стиль display-формул и fenced-блоков math/latex/tex.
callout_style "pretty" стиль callout-блоков и правила отображения подписи. show-icons использует глифы Nerd Font, а show-simple-icons - переносимые ASCII-маркеры вроде [i], [*], [!] и [x]. Эти два параметра нельзя комбинировать.
code_wrap_indent "double" управляет «висячим» отступом при переносе строк внутри блоков кода (по умолчанию double).
reverse false рендер документа с конца, сохраняя форматирование блоков.
checkbox_style null рендерит чекбоксы task-list как иконки Nerd Font вместо стандартных [ ] / [x]. Требует шрифт Nerd Font в терминале.
custom_checkbox null переопределяет встроенные иконки чекбоксов или добавляет новые состояния (только с --checkbox-style). Каждая разделённая точкой с запятой пара задаётся как <char>:<icon>[:<color>] или <char>:<color>. Форма только с цветом сохраняет существующую иконку, а для нового состояния использует стандартную иконку неотмеченного чекбокса. Цвета принимают именованные, hex, rgb и ansi(N).
list_style null заменяет стандартные маркеры - неупорядоченных списков на набор иконок по уровням. Значение обязательно и задаётся в формате type:<nerd-font|unicode>;size:<large|small>, например --list-style 'type:unicode;size:small'.
definition_marker_style null выводит описания definition list со встроенным Unicode- или Nerd Font-маркером.
uniform_list_marker null использует один маркер на всех уровнях вложенности (только с --list-style). level:2 берёт второй маркер выбранного набора, а icon:* задаёт собственный глиф.
custom_list null переопределяет иконку и/или цвет маркера для конкретных уровней вложенности (только с --list-style). Уровень - 1-based; иконка - глиф маркера. Цвета принимают именованные (red), hex (#ff0000), rgb (255,0,0) и ansi(N).
link_style "clickable" способ отображения ссылок (по умолчанию clickable).
link_overflow "wrap" определяет, переносить, обрезать или разрешать переполнение длинных ссылок (по умолчанию wrap).
footnote_style "endnotes" размещение сносок в конце документа или сразу после блока со ссылкой, включая абзацы, таблицы и элементы списков.
missing_footnote_style "show" поведение для отсутствующих, некорректных или пустых определений сносок.
from_text null рендер начиная с первой строки, содержащей <TEXT>. Добавление :<lines> ограничит число строк (например, --from "Install:20").

Полный шаблон с комментариями

Это полный шаблон конфигурации из поставки mdv. Перенесите нужные настройки в config.yaml; комментарии также перечисляют составные форматы и поля темы.

# Default MDV configuration file
# Create it with: mdv --init-config
# Place this file as ~/.config/mdv/config.yaml (or ~/.config/mdv/config.yml)
# and use --config-file ~/.config/mdv or MDV_CONFIG_PATH=~/.config/mdv to load it.

# Theme settings
# Complex settings accept both YAML mappings and their legacy one-line CLI syntax.
# Theme colors merge per field: selected theme < config < preset < CLI.
# Within one source, syntax order is custom_theme < code_theme < custom_code_theme.
# CLI theme colors override lower-source callout, checkbox, and list colors.
# Optional backgrounds inherit when omitted; explicit null clears them.
# Unspecified colors retain lower-priority values.
theme: "terminal"          # Option: "terminal" | "solarized-dark" | "nord" | "tokyonight" | "kanagawa" | "gruvbox" | "monokai" | "material-ocean" | "catppuccin"
code_theme: null           # Use null to follow theme; accepts the same values as theme
syntaxes_dir: null         # Directory with custom .sublime-syntax files; relative paths start from the config directory
theme_info: false          # Print palette information alongside rendered output
custom_theme: null         # Nested YAML mapping of theme values, or a section:field=value string
# Example:
# custom_theme:
#   text: "#cdd6f4"
#   h1: "#89b4fa"
#   horizontal_rule: "#6c7086"
#   math:
#     text: blue
#     border: darkcyan
#   code_block:
#     label: darkgrey
#   syntax:
#     keyword: blue
#     number: magenta
#   background: null
inline_style: {}           # Per-element backticks/bold/italic/underline/strikethrough overrides
custom_code_theme: null    # Flat YAML mapping of syntax colors, or a legacy key=value string
# Example:
# custom_code_theme:
#   keyword: "#cba6f7"
#   string: "#a6e3a1"
# Custom callouts, code blocks, checkboxes, and list markers merge by entry and property:
# main config -> preset -> CLI. Omitted entries/properties retain their values.
# Explicit null clears a property or entry; root null or {} clears the whole setting.
# aliases is replaced when specified; aliases: [] clears inherited aliases.
custom_callout: null       # Mapping of callout names to icon/color, or a legacy definition string
# Example:
# custom_callout:
#   tip:
#     icon: "*"
#     color: green
#   important:
#     color: "#ff5555"
custom_code_block: null    # Mapping of language names to icon/label/aliases, or a legacy definition string
# Example:
# custom_code_block:
#   default:
#     icon: "?"
#   rust:
#     icon: "R"
#     label: Rust
#     aliases: [rs, rustlang]
# Works for any language hint, even if it is not in the built-in icon mapping.
# Syntax highlighting is applied only when the language is supported by mdv's syntax highlighting logic.

# Display behaviour
# Keys must use snake_case (e.g. color, tab_length).
cols: null                 # Use detected terminal width; fallback is 80 when detection fails
margin: null              # null disables margins; otherwise use "left:N", "right:N", or both
tab_length: 4              # Replace tab characters with this many spaces
color: auto                # Terminal styling: auto | always | never
color_depth: auto          # Palette limit: auto | 16 | 256 | truecolor
wrap: "char"               # Text and table-cell breaks: "char" | "word" | "none"
reflow: false              # Collapse in-paragraph source newlines and refill lines to width (requires wrapping)
table_wrap: "fit"          # Table geometry: fit cells | wrap columns into blocks | allow overflow
table_borders: false        # Use full rounded borders for tables
heading_layout: "level"    # Options: "level" | "center" | "flat" | "none"
show_heading_markers: false # Prefix headings with markdown-style markers matching their level
smart_indent: false        # Smooth heading indentation jumps (only with "level" layout)
table_smart_indent: false  # Automatically adjusts table indentation based on available width
block_spacing: null        # Mapping of block elements to top/bottom blank lines, or a legacy string
# Example:
# block_spacing:
#   paragraph:
#     top: 0
#     bottom: 1
#   callout:
#     top: 1
horizontal_rule_style: "pretty" # "pretty" adds decorative endpoints; "simple" draws a continuous line
hide_comments: false       # Hide Markdown comments from the rendered output
front_matter: "hidden"     # hidden | panel | table | plain | inline | blocks | code | source
render_html: false         # Render raw HTML fragments as terminal-formatted content
line_numbers: false        # false | true | "source" | "separator" | "source;separator"
code_line_numbers: false   # false | true | "source" | "separator" | "source;separator"; resets for each code block
show_empty_elements: false # Show otherwise hidden empty lists, block quotes, tables, and code blocks
code_guessing: true        # Disable to keep unknown code blocks as plain text
code_block_style: "basic"  # Styles: "basic" | "simple" | "pretty"; options: "show-name" | "show-icon"
                           # Labels are hidden by default; combine options with ";" to show both parts.
math_block_style: "basic"  # Styles: "basic" | "simple" | "pretty"; no labels or icons
callout_style: "pretty"    # Options: "simple:show-icons;show-simple-icons;fold-icons;uppercase" | "pretty:show-icons;show-simple-icons;fold-icons;label-inside;uppercase"
                           # label-inside is supported only with "pretty"; show-icons and show-simple-icons cannot be combined.
                           # fold-icons requires show-icons.
                           # show-simple-icons uses ASCII markers; show-icons and fold-icons require Nerd Fonts.
# Structured alternative:
# callout_style:
#   style: pretty
#   show_icons: true
#   show_simple_icons: false
#   fold_icons: true
#   label_inside: true
#   uppercase: true
code_wrap_indent: "double" # Options: "none" | "base" | "double"; controls hanging indent inside code blocks
reverse: false             # Render document starting from the end while preserving layout
checkbox_style: null      # Options: | "square" | "circle"; render task-list checkboxes as Nerd Font icons
custom_checkbox: null      # Mapping of checkbox states to icon/color, or a legacy string; requires checkbox_style
# Example:
# custom_checkbox:
#   " ":
#     icon: "U"
#     color: yellow
#   x:
#     color: green
list_style: null          # null | "type:nerd-font;size:small" | "type:unicode;size:large"; booleans are not accepted
                           # size only changes Nerd Font icons; Unicode accepts both sizes and uses the same glyphs.
                           # Unicode spacing depends on the font; verified especially with JetBrainsMono Nerd Font.
definition_marker_style: null    # null | "unicode" | "nerd-font"; null renders definitions with a two-space indent
uniform_list_marker: null  # Use one icon at every level: "level:1".."level:4" or a custom "icon:*"
custom_list: null          # Mapping of nesting levels to icon/color, or a legacy string; requires list_style
# Example:
# custom_list:
#   1:
#     icon: "*"
#     color: yellow
#   2:
#     color: red
# Link handling
link_style: "clickable"    # Options: "clickable" | "fclickable" | "inline" | "inlinetable" | "endtable" | "hide" (aliases: c/clickable, fc/fclickable, i/inline, it/inlinetable, et/endtable, h/hide)
link_overflow: "wrap"    # Options: "wrap" | "cut" | "tablecut" | "none"

# Footnotes
footnote_style: "endnotes" # Options: "endnotes" | "attached"
missing_footnote_style: "show" # Options: "show" | "hide"

# Content filtering
from_text: null            # Render starting from the first line that contains this text

# `table_wrap` accepts the values above; `heading_layout` also understands camel-case variants from earlier releases.

# Available root keys for custom_theme:
# text, text_light, h1..h6,
# quote, link, background, details_border, horizontal_rule, footnote_separator,
# error, warning
# Grouped keys use section:field in CLI strings and nested YAML mappings:
# emphasis, strong, strong_emphasis, code, strikethrough, highlight: text, background
# line_number: number, separator
# table: header, border
# math: text, border
# front_matter: title, key, value, border
# code_block: label, border
# callout: label, border, palette
# callout:palette: note, abstract, info, todo, tip, success, question, warning,
#                  failure, danger, bug, example, quote
# list: ordered, unordered
# todo: checked, unchecked
# pager: transparent (true or false), title, help, file_name, progress, matches
# pager:selection, pager:search, pager:search_current: text, background
# Null pager highlight colors preserve the current automatic/default highlighting.
# Example: --custom-theme 'pager:transparent=true;pager:title=blue;pager:search_current:background=darkblue'
# syntax: keyword, string, comment, number, operator, function, variable, type_name
# An omitted user-theme field inherits its base. Null border colors use terminal text.
# Null callout label uses the custom per-type color or its independent palette.
# Example: --custom-theme 'code:text=darkgrey;code:background=null;details_border=grey'
# Inline decorations remain in inline_style, independently of these color groups.

# Available inline_style elements:
# emphasis, strong, strong_emphasis, code, strikethrough, highlight
# Each element accepts: backticks, bold, italic, underline, strikethrough (true or false)
# Example:
# inline_style:
#   code:
#     backticks: false
#     bold: true
#   highlight:
#     underline: true

# Available keys for custom_code_theme:
# keyword, string, comment, number, operator, function, variable, type_name

# Color value formats accepted in custom_theme/custom_code_theme/custom_callout:
# Hex strings: "#rrggbb" or "#rgb"
# RGB tuples:  "r,g,b" or "rgb(r,g,b)" (values 0..255)
# ANSI 256:    "ansi(N)" or just "N" (0..255)
# Named:       "red", "darkgrey", etc.