Skip to main content

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).


KeyAction
h / lMove left / right one column
j / kMove down / up one row
gH / gLMove to first / last column
gG / ggMove to last / first row
Ctrl+F / Ctrl+BPage down / Page up
Ctrl+D / Ctrl+UHalf page down / Half page up
/ regexSearch forward in current column
? regexSearch backward in current column
n / NNext / previous search match
g/ regexSearch all visible columns
{ / }Jump to previous / next selected row
Ctrl+^Toggle between current and previous sheet

Session Management

KeyAction
qQuit current sheet (return to previous)
QQuit and remove from CommandLog
gqQuit all sheets (exit VisiData)
^QAbort immediately (no save)
Shift+SOpen Sheet List
^GShow current position + sheet info
^VShow VisiData version
^LRedraw screen
^RReload sheet from source
SpaceCommand palette (searchable)
z^HHelp for current sheet type

Row Selection

KeyAction
s / uSelect / unselect current row
tToggle selection of current row
gs / guSelect / unselect all rows
gtToggle all rows
| regexSelect rows matching regex in current column
g| regexSelect rows matching regex in any visible column
z| exprSelect rows matching Python expression
,Select rows matching current cell value
"Open filtered sheet (selected rows only)
g"Open unfiltered copy of all rows
gfFilter in-place by natural-language condition
gcRestore all rows (clear filter)

Column Operations

KeyAction
^Rename current column
_Toggle column width (full / default)
g_Toggle all column widths
z_ NSet column width to N characters
-Hide current column
gvUnhide all hidden columns
H / LSlide column left / right
gH / gLSlide column to far left / far right
!Toggle current column as key column / pinned identifier
z!Unset current column as key column

Custom: Column Selection (Plugin)

KeyAction
Alt+s / Alt+uSelect / unselect current column
Alt+tToggle column selection
Alt+gs / Alt+guSelect / unselect all columns
Alt+-Hide all selected columns
Alt+gvUnhide selected columns
Alt+gVUnhide all hidden columns
Alt+g# / Alt+g% / Alt+g~Set int / float / str type for selected
Alt+g$ / Alt+g@Set currency / date type for selected
Alt+g_Set width for selected columns
Alt+z_Auto-fit width for selected columns
Alt+:Show selected column names

See Column Operations Cheatsheet for full reference.


Column Types

KeyType
~str (text)
#int (integer)
%float (decimal)
$currency
@date
z#len (string length as int)

Derived Columns and Editing

KeyAction
= exprCreate derived column from expression
g= exprBulk set current column for selected rows
: regexSplit column into sub-columns by regex
; regexExtract capture groups as new columns
* s<Tab>rCreate column replacing regex s→r (new column)
g* s<Tab>rReplace regex in-place for selected rows
iAdd incremental integer column
giSet current column incrementally for selected rows
Space rn EnterAdd leftmost no row-number column (common-config)
+ aggSet aggregator on current column
z+ aggShow aggregate result in status bar

Cell Editing

KeyAction
eEnter edit mode on current cell
ge textSet current column for all selected rows to text
^OOpen current cell in external $EDITOR
UUndo last modification
RRedo last undo
fFill null cells with non-null value above
Ctrl+SSave current sheet
g Ctrl+SSave all sheets

Row Operations

KeyAction
aAppend blank row after current
ga NAppend N blank rows
dDelete current row
gdDelete all selected rows
y / gyYank current / all selected rows to clipboard
p / PPaste clipboard rows after / before current
x / gxCut current / selected rows
J / KSlide row down / up
gJ / gKSlide row to bottom / top

Sorting

KeyAction
[ / ]Sort ascending / descending by current column
g[ / g]Sort by all key columns ascending / descending
z[ / z]Add to existing sort (cumulative)

Analysis

KeyAction
Shift+FFrequency table on current column
gFFrequency table on all key columns
Shift+WPivot table (requires key column set with !)
Shift+IDescribe Sheet (statistical profile of all columns)
Shift+CColumns Sheet (bulk column metadata editing)
Shift+MMelt (unpivot) sheet
.Canvas / graph (requires key column)
TTranspose sheet (swap rows and columns)
&Join / append top two selected sheets
g&Join / append all sheets in Sheet List

Nested / JSON Columns

KeyAction
(Expand current nested column one level
g(Expand all nested columns one level
z( NExpand current column to depth N
)Collapse current expanded column
g)Collapse all expanded columns
zMExpand list column into multiple rows
EnterDrill into nested cell / frequency row as child sheet

CommandLog and Macros

KeyAction
Shift+DOpen CommandLog for current sheet
gDOpen global CommandLog
m keyStart / stop recording macro to key
gmOpen Macro Index

Sheet Types (Quick Access)

KeySheet Type
Shift+FFrequency Sheet
Shift+WPivot Sheet
Shift+IDescribe Sheet
Shift+CColumns Sheet
Shift+DCommandLog Sheet
Shift+OOptions Sheet
Shift+MMelted Sheet
Shift+SSheet List
^TThreads Sheet

Clipboard (System)

KeyAction
YYank current row to system clipboard
gYYank selected rows to system clipboard
zYYank current cell value to system clipboard
zmCopy current cell to tmux paste buffer (custom, requires tmux)

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 gf → natural-lang filter d/gd delete row/selected
───────────────────── gc → clear filter a add blank row
[ / ] asc/desc sort ANALYSIS y/p yank / paste
g[ g] by key cols ────────────────────── U undo
~#%$@ type cast Shift+F frequency Ctrl+S save
! key/pin col Shift+W pivot
z! unkey column Shift+I describe SESSION
H/L slide col Shift+C columns sheet ─────────────────────────
(/) expand/collapse Shift+M melt q/Q/gq quit
g( expand all T transpose ^Q abort
& join sheets

What's Next