Keyboard Map
Condensed reference for all VisiData keys, organized by function. Use this as a printable quick-reference card.
Learning Focus
Print or bookmark this page. Refer to it during the first two weeks — after that, the most-used keys become automatic. Focus on: navigation (hjkl-style), selection (|, z|), and analysis (Shift+F, Shift+W).
Navigation
| Key | Action |
|---|---|
h / l | Move left / right one column |
j / k | Move down / up one row |
gH / gL | Move to first / last column |
gG / gg | Move to last / first row |
Ctrl+F / Ctrl+B | Page down / Page up |
Ctrl+D / Ctrl+U | Half page down / Half page up |
/ regex | Search forward in current column |
? regex | Search backward in current column |
n / N | Next / previous search match |
g/ regex | Search all visible columns |
{ / } | Jump to previous / next selected row |
Ctrl+^ | Toggle between current and previous sheet |
Session Management
| Key | Action |
|---|---|
q | Quit current sheet (return to previous) |
Q | Quit and remove from CommandLog |
gq | Quit all sheets (exit VisiData) |
^Q | Abort immediately (no save) |
Shift+S | Open Sheet List |
^G | Show current position + sheet info |
^V | Show VisiData version |
^L | Redraw screen |
^R | Reload sheet from source |
Space | Command palette (searchable) |
z^H | Help for current sheet type |
Row Selection
| Key | Action |
|---|---|
s / u | Select / unselect current row |
t | Toggle selection of current row |
gs / gu | Select / unselect all rows |
gt | Toggle all rows |
| regex | Select rows matching regex in current column |
g| regex | Select rows matching regex in any visible column |
z| expr | Select rows matching Python expression |
, | Select rows matching current cell value |
" | Open filtered sheet (selected rows only) |
g" | Open unfiltered copy of all rows |
Column Operations
| Key | Action |
|---|---|
^ | Rename current column |
_ | Toggle column width (full / default) |
g_ | Toggle all column widths |
z_ N | Set column width to N characters |
- | Hide current column |
gv | Unhide all hidden columns |
H / L | Slide column left / right |
gH / gL | Slide column to far left / far right |
! | Toggle current column as key column / pinned identifier |
z! | Unset current column as key column |
Column Types
| Key | Type |
|---|---|
~ | str (text) |
# | int (integer) |
% | float (decimal) |
$ | currency |
@ | date |
z# | len (string length as int) |
Derived Columns and Editing
| Key | Action |
|---|---|
= expr | Create derived column from expression |
g= expr | Bulk set current column for selected rows |
: regex | Split column into sub-columns by regex |
; regex | Extract capture groups as new columns |
* s<Tab>r | Create column replacing regex s→r (new column) |
g* s<Tab>r | Replace regex in-place for selected rows |
i | Add incremental integer column |
gi | Set current column incrementally for selected rows |
Space rn Enter | Add leftmost no row-number column (common-config) |
+ agg | Set aggregator on current column |
z+ agg | Show aggregate result in status bar |
Cell Editing
| Key | Action |
|---|---|
e | Enter edit mode on current cell |
ge text | Set current column for all selected rows to text |
^O | Open current cell in external $EDITOR |
U | Undo last modification |
R | Redo last undo |
f | Fill null cells with non-null value above |
Ctrl+S | Save current sheet |
g Ctrl+S | Save all sheets |
Row Operations
| Key | Action |
|---|---|
a | Append blank row after current |
ga N | Append N blank rows |
d | Delete current row |
gd | Delete all selected rows |
y / gy | Yank current / all selected rows to clipboard |
p / P | Paste clipboard rows after / before current |
x / gx | Cut current / selected rows |
J / K | Slide row down / up |
gJ / gK | Slide row to bottom / top |
Sorting
| Key | Action |
|---|---|
[ / ] | Sort ascending / descending by current column |
g[ / g] | Sort by all key columns ascending / descending |
z[ / z] | Add to existing sort (cumulative) |
Analysis
| Key | Action |
|---|---|
Shift+F | Frequency table on current column |
gF | Frequency table on all key columns |
Shift+W | Pivot table (requires key column set with !) |
Shift+I | Describe Sheet (statistical profile of all columns) |
Shift+C | Columns Sheet (bulk column metadata editing) |
Shift+M | Melt (unpivot) sheet |
. | Canvas / graph (requires key column) |
T | Transpose sheet (swap rows and columns) |
& | Join / append top two selected sheets |
g& | Join / append all sheets in Sheet List |
Nested / JSON Columns
| Key | Action |
|---|---|
( | Expand current nested column one level |
g( | Expand all nested columns one level |
z( N | Expand current column to depth N |
) | Collapse current expanded column |
g) | Collapse all expanded columns |
zM | Expand list column into multiple rows |
Enter | Drill into nested cell / frequency row as child sheet |
CommandLog and Macros
| Key | Action |
|---|---|
Shift+D | Open CommandLog for current sheet |
gD | Open global CommandLog |
m key | Start / stop recording macro to key |
gm | Open Macro Index |
Sheet Types (Quick Access)
| Key | Sheet Type |
|---|---|
Shift+F | Frequency Sheet |
Shift+W | Pivot Sheet |
Shift+I | Describe Sheet |
Shift+C | Columns Sheet |
Shift+D | CommandLog Sheet |
Shift+O | Options Sheet |
Shift+M | Melted Sheet |
Shift+S | Sheet List |
^T | Threads Sheet |
Clipboard (System)
| Key | Action |
|---|---|
Y | Yank current row to system clipboard |
gY | Yank selected rows to system clipboard |
zY | Yank current cell value to system clipboard |
Printable Summary (ASCII)
NAVIGATE SELECT EDIT
───────────────────── ────────────────────── ─────────────────────────
h/l col left/right | regex → select col e edit cell
j/k row up/down g| regex → select all ge bulk set col
gg/gG first/last row z| expr → by expr = derived column
g/ search all , → match cell value g= bulk set expr
n/N next/prev match " → open filtered * regex replace (new)
s/u → single select g* regex replace (inplace)
gs/gu → all select i incremental column
SORT & TYPE ────────────────────── d/gd delete row/selected
───────────────────── ANALYSIS a add blank row
[ / ] asc/desc sort ────────────────────── y/p yank / paste
g[ g] by key cols Shift+F frequency U undo
~#%$@ type cast Shift+W pivot Ctrl+S save
! key/pin col Shift+I describe
z! unkey column Shift+C columns sheet SESSION
H/L slide col Shift+M melt ─────────────────────────
(/) expand/collapse T transpose q/Q/gq quit
g( expand all & join sheets ^Q abort