Skip to main content

Options Reference

VisiData options control display, behavior, performance, and editing. All options can be set in .visidatarc, passed on the command line with --option value, or changed at runtime with Shift+O.

Learning Focus

Use this as a quick-lookup reference when tuning VisiData behavior. Options in .visidatarc use options.name = value syntax. Command-line equivalents use --name value.

Tool Snapshot
  • Runtime options sheet: Shift+O
  • Config file: ~/.visidatarc
  • CLI override: vd --option-name value file.csv
  • Inspect current value: open Shift+O, search with /

Display Options

OptionDefaultTypeDescription
disp_date_fmt%Y-%m-%dstrDisplay format for date columns (@ type)
disp_float_fmt{:.02f}strDisplay format for float columns (% type)
disp_currency_fmt{:,.02f}strDisplay format for currency columns ($ type)
disp_int_fmt{}strDisplay format for integer columns (# type)
disp_null_value``strString shown for None/null values
disp_truncatorstrCharacter appended when cell value is truncated
disp_note_nonestrCharacter shown in status for null cells
color_defaultnormalstrDefault text color
color_selected_row215 boldstrColor for selected rows (yellow by default)
color_key_col81 boldstrColor for key columns (blue)
color_errorredstrColor for error cells (#ERR)
color_warningyellowstrColor for warning indicators
color_column_sep246 bluestrColumn separator line color
disp_column_sep|strCharacter between columns
disp_rowlen0intMax row display length (0 = unlimited)
# .visidatarc examples
options.disp_date_fmt = '%d/%m/%Y' # UK date format
options.disp_null_value = 'N/A' # Show N/A for nulls
options.color_selected_row = 'green bold'

Loading & Parsing Options

OptionDefaultTypeDescription
filetype``strDefault filetype when extension unrecognized
encodingutf-8strFile encoding (try latin1 for legacy files)
delimiter,strCSV field delimiter
quotechar"strCSV quote character
skip0intNumber of header lines to skip on load
header1intNumber of rows to use as column headers
max_rows0intMax rows to load (0 = all rows)
csv_dialectexcelstrCSV dialect (excel, unix, excel-tab)
tsv_safe_newline\u2028strReplacement for newlines inside TSV cells
json_indentNoneintJSON pretty-print indent (None = compact)
safe_error#ERRstrValue displayed when expression throws an error
# .visidatarc examples
options.encoding = 'latin1' # For legacy Windows exports
options.delimiter = ';' # Semicolon-delimited files
options.skip = 1 # Skip one comment header line
options.max_rows = 50000 # Load max 50k rows

Editing Options

OptionDefaultTypeDescription
undoFalseboolEnable undo/redo (U/R) — set to True in .visidatarc
quitguardFalseboolPrompt before quitting unsaved modified sheets
overwriteFalseboolOverwrite source file on Ctrl+S without prompting
confirm_overwriteTrueboolConfirm before overwriting existing files
# .visidatarc recommended settings
options.undo = True
options.quitguard = True

Performance Options

OptionDefaultTypeDescription
max_rows0intLimit rows loaded (0 = no limit)
min_memory_mb0intWarn when free memory drops below this MB value
bulk_select_rows1000intRows processed per cycle during bulk selection
regex_maxsplit0intMax splits for regex column split (0 = unlimited)
OptionDefaultTypeDescription
wrapFalseboolWrap long cell values to multiple display lines
scroll_incr3intNumber of rows scrolled per scroll command
name_joiner_strCharacter joining split column names
aggr_roundtripFalseboolRound-trip aggregated columns back to source type

Output & Saving Options

OptionDefaultTypeDescription
save_filetype``strDefault save format if output filename has no extension
tsv_safe_tab\u00b7strReplacement for literal tabs in TSV output
csv_lineterminator\r\nstrLine ending for CSV output
json_sort_keysFalseboolSort keys alphabetically in JSON output

CommandLog & Replay Options

OptionDefaultTypeDescription
replay_wait0floatSeconds to pause between replayed commands
replay_movementFalseboolInclude cursor-movement commands in CommandLog
rowkey_prefix``strPrefix for row key columns in CommandLog
# For slow, visible replays (useful for demos)
options.replay_wait = 0.5

Practical Reference — Most-Used in .visidatarc

# ~/.visidatarc — recommended baseline

# Core editing safety
options.undo = True
options.quitguard = True

# Date format for UK/EU locales
options.disp_date_fmt = '%d/%m/%Y'

# Show blanks explicitly
options.disp_null_value = '∅'

# Performance guard for large files
options.max_rows = 100000

# Slow replay for demos
# options.replay_wait = 0.3

Runtime: Changing Options in Shift+O

Open the Options Sheet at runtime:

Shift+O open global Options Sheet
zO open options for current sheet only

Inside the Options Sheet:

  • Navigate with arrow keys
  • Press e on any row to edit the value
  • Changes apply immediately — no restart needed
  • Press Ctrl+S to persist changes to .visidatarc

Hands-On Practice

vd ~/github/practice-folder/visidata/01-loading/01-employees.csv

# 1. Press Shift+O to open the Options Sheet
# 2. Search: / → type: disp_null_value → Enter
# 3. Press e → change value to 'N/A' → Enter
# 4. Press q → return to sheet
# 5. Verify nulls now display as 'N/A'
# 6. In status bar, note the option applied live

What's Next