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 and Menu Colors
# 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
| Problem | Cause | Fix |
|---|---|---|
| Colors look wrong | Terminal not 256-color | export TERM=xterm-256color |
| Color numbers out of range | Color > 255 | Use values 0–255 only |
| Bold not rendering | Terminal doesn't support bold | Test with tput bold |
| Theme option invalid | Unknown theme name | Leave 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