Skip to main content

Colors and Themes

VisiData uses a 256-color terminal palette for its interface. Colors are controlled via color_* and disp_* options — configurable in the Options Sheet or ~/.visidatarc.

Learning Focus

Understand the color option naming pattern (color_ + element), and use the Options Sheet (Shift+O) to preview changes live before writing them to .visidatarc.

Color Option Naming Pattern

All color options follow this pattern:

color_<element> <curses color spec>

Color specs can be:

  • Named colors: white, black, red, green, blue, cyan, magenta, yellow
  • 256-color numbers: 68 (blue), 214 (orange), 46 (green)
  • Combinations: bold white on 238, italic on 68 blue
  • Reverse video: reverse

Key Color Options

# ~/.visidatarc

# Default foreground/background
color_default = 'white on black'

# Column header row
color_default_hdr = 'bold white on black'

# Cursor row (highlighted row)
color_current_row = 'reverse'

# Cursor column background
color_current_col = 'bold on 232'

# Selected rows (yellow)
color_selected_row = '215 yellow'

# Key column color
color_key_col = '81 cyan'

# Hidden columns (on metasheets)
color_hidden_col = '8'

# Status bar
color_status = 'bold on 238'

# Error messages
color_error = '202 1'

# Warning messages
color_warning = '166 15'
# Sidebar background
color_sidebar = 'black on 114 blue'

# Sidebar title
color_sidebar_title = 'black on yellow'

# Menu items
color_menu = 'black on 68 blue'

# Active menu item
color_menu_active = '223 yellow on black'

Graph Colors

# Plot color palette (list of colors for distinct series)
options.plot_colors = '214 46 51 196 226 201 47 27 165 9'

# Hidden graph layer
color_graph_hidden = '238 blue'

# Selected graph points
color_graph_selected = 'bold'

# Graph axis labels
color_graph_axis = 'bold'

Built-In Themes

As of VisiData 3.x, themes can be set via:

# ~/.visidatarc

# Apply a theme (check available themes with Shift+O → search 'theme')
options.theme = '' # empty = default

Alternatively, browse themes in the Options Sheet:

Shift+O
# Search for 'theme' with /
# Press Enter to edit and type a theme name

Dark Mode Starter Config

# ~/.visidatarc — dark mode color scheme

# Base colors
color_default = 'white on 232'
color_default_hdr = 'bold 39 on 236'
color_current_row = '232 on 214'
color_current_col = 'on 236'
color_selected_row = '226 yellow on 235'
color_key_col = '51 cyan'

# Status bar
color_status = 'bold white on 234'
color_error = 'bold 196 red'
color_warning = '214 orange'

# Sidebar
color_sidebar = 'white on 234'
color_sidebar_title = 'bold white on 236'

Display Characters

Beyond colors, display characters control separators and indicators:

# Column separator
options.disp_column_sep = '│'

# Key column separator
options.disp_keycol_sep = '║'

# Null value indicator
options.disp_note_none = '⌀'

# Truncation indicator
options.disp_truncator = '…'

# Sort ascending/descending characters
options.disp_sort_asc = '↑↟⇞⇡⇧⇑'
options.disp_sort_desc = '↓↡⇟⇣⇩⇓'

Live Preview via Options Sheet

# Open Options Sheet
Shift+O

# Filter to color options
/
# Enter: color_

# Edit a color value
# Move cursor to a color option, press Enter
# Type a new color spec: e.g., bold red on 232
# Press Enter → color changes immediately!

# If you like it, save
Ctrl+S → saves to ~/.visidatarc

Troubleshooting Matrix

ProblemCauseFix
Colors look wrongTerminal not 256-colorexport TERM=xterm-256color
Color numbers out of rangeColor > 255Use values 0–255 only
Bold not renderingTerminal doesn't support boldTest with tput bold
Theme option invalidUnknown theme nameLeave blank or remove the line

Hands-On Practice

vd /tmp/servers.csv

# 1. Press Shift+O to open Options Sheet
# 2. Press / and search for: color_current_row
# 3. Press Enter → type: bold white on 27 (blue background)
# 4. Press Enter → cursor row color changes immediately
# 5. Navigate back to source sheet to see the effect
# 6. If you like it: Shift+O → Ctrl+S to save

What's Next