.Dd January 15, 2024 .Dt vd \&1 "Quick Reference Guide" .Os Linux/MacOS . .\" Long option with arg: .Lo f filetype format .\" Long flag: .Lo f filetype .de Lo .It Cm -\\$1 Ns , Cm --\\$2 Ns = Ns Ar \\$3 .. .de Lf .It Cm -\\$1 Ns , Cm --\\$2 .. .Sh NAME . .Nm VisiData .Nd a terminal utility for exploring and arranging tabular data . .Sh SYNOPSIS . .Nm vd .Op Ar options .Op Ar input No ... . .Nm vd .Op Ar options .Cm --play Ar cmdlog .Op Cm -w Ar waitsecs .Op Cm --batch .Op Cm -i .Op Cm -o Ar output .Op Ar field Ns Cm = Ns Ar value . .Nm vd .Op Ar options .Op Ar input No ... .Cm + Ns Ar toplevel Ns : Ns Ar subsheet Ns : Ns Ar col Ns : Ns Ar row . .Sh DESCRIPTION .Nm VisiData No is an easy-to-use multipurpose tool to explore, clean, edit, and restructure data. Rows can be selected, filtered, and grouped; columns can be rearranged, transformed, and derived via regex or Python expressions; and workflows can be saved, documented, and replayed. . .Ss REPLAY MODE .Bl -tag -width XXXXXXXXXXXXXXXXXXXXXX -compact .Lo p play cmdlog .No replay a saved Ar cmdlog No within the interface . .Lo w replay-wait seconds .No wait Ar seconds No between commands . .Lf b batch replay in batch mode (with no interface) .Lf i interactive launch VisiData in interactive mode after batch . .Lo o output file .No save final visible sheet to Ar file No as .tsv . .It Ar field Ns Cm = Ns Ar value .No replace \&"{ Ns Ar field Ns }\&" in Ar cmdlog No contents with Ar value .El . .Ss Commands During Replay .Bl -tag -width XXXXXXXXXXXXXXXXXXX -compact -offset XXX .It Sy ^K cancel current replay .El . .Ss GLOBAL COMMANDS .No All keystrokes are case sensitive. The Sy ^ No prefix is shorthand for Sy Ctrl Ns . .Pp .Ss Keystrokes to start off with .Bl -tag -width XXXXXXXXXXXXXXX -compact .It Ic " ^Q" abort program immediately .It Ic " ^C" cancel user input or abort all async threads on current sheet .It Ic "g^C" abort all secondary threads .It Ic " q" quit current sheet or menu .It Ic " Q" quit current sheet and free associated memory .It Ic " gq" quit all sheets (clean exit) .Pp .It Ic "Alt+H" .No activate help menu ( Ns Sy Enter Ns / Ns Sy left-mouse No to expand submenu or execute command) .It Ic "g^H" view this man page .It Ic "z^H" view sheet of command longnames and keybindings for current sheet .Pp .It Ic " gb" open sidebar in a new sheet .It Ic " b" toggle sidebar .Pp .It Ic " U" .No undo the most recent modification ( requires enabled Sy options.undo Ns ) .It Ic " R" .No redo the most recent undo ( requires enabled Sy options.undo Ns ) .Pp .It Ic "Space" Ar longname .No open command palette; Sy Enter No to execute top command by its Ar longname .El .Ss " Command Palette" .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic "Tab" .No Move to command palette, and cycle through commands .It Ic "0-9" .No Execute numbered command .It Ic "Enter" .No Execute highlighted command .El .Ss "Cursor Movement" . .Bl -tag -width XXXXXXXXXXXXXXX -compact . .It Ic "Arrow PgUp" go as expected .It Ic " h j k l" go left/down/up/right .It Ic "gh gj gk gl" go all the way to the left/bottom/top/right of sheet .It Ic " G gg" go all the way to the bottom/top of sheet .It Ic. "End Home" go all the way to the bottom/top of sheet .It Ic "^B ^F" scroll one page back/forward .It Ic "^Left ^Right" scroll one page left/right .It Ic "zz" scroll current row to center of screen .Pp .It Ic "^^" No (Ctrl+^) jump to previous sheet (swaps with current sheet) .Pp .It Ic " / ?" Ar regex .No search for Ar regex No forward/backward in current column .It Ic "g/ g?" Ar regex .No search for Ar regex No forward/backward over all visible columns .It Ic "z/ z?" Ar expr .No search by Python Ar expr No forward/backward in current column (with column names as variables) .It Ic " n N" go to next/previous match from last regex search .Pp .It Ic " < >" go up/down current column to next value .It Ic "z< z>" go up/down current column to next null value .It Ic " { }" go up/down current column to next selected row . .El .Pp .Bl -tag -width XXXXXXXXXXXXXXX -compact .Pp .It Ic " c" Ar regex .No go to next column with name matching Ar regex .It Ic " r" Ar regex .No go to next row with key matching Ar regex .It Ic "zc zr" Ar number .No go to column/row Ar number No (0-based) .Pp .It Ic " H J K L" slide current row/column left/down/up/right .It Ic "gH gJ gK gL" slide current row/column all the way to the left/bottom/top/right of sheet .It Ic "zH zJ zK zK" Ar number .No slide current row/column Ar number No positions to the left/down/up/right .Pp .It Ic "zh zj zk zl" scroll one left/down/up/right .El . .Ss Column Manipulation . .Bl -tag -width XXXXXXXXXXXXXXX -compact . .It Ic " _" Ns " (underbar)" toggle width of current column between full and default width .It Ic " g_" toggle widths of all visible columns between full and default width .It Ic " z_" Ar number .No adjust width of current column to Ar number .It Ic "gz_" Ar number adjust widths of all visible columns to Ar number .Pp .It Ic " -" Ns " (hyphen)" hide current column .It Ic "z-" Ns reduce width of current column by half .It Ic "gv" Ns unhide all columns .Pp .It Ic "! z!" Ns toggle/unset current column as a key column .It Ic "~ # % $ @ z#" set type of current column to str/int/float/currency/date/len .It Ic "Alt++ Alt+-" show more/less precision in current numerical column .It Ic " ^" rename current column .It Ic " g^" rename all unnamed visible columns to contents of selected rows (or current row) .It Ic " z^" rename current column to combined contents of current cell in selected rows (or current row) .It Ic "gz^" rename all visible columns to combined contents of current column for selected rows (or current row) .Pp .It Ic " =" Ar expr .No create new column from Python Ar expr Ns , with column names, and attributes, as variables .It Ic " g=" Ar expr .No set current column for selected rows to result of Python Ar expr .It Ic "gz=" Ar expr .No set current column for selected rows to the items in result of Python sequence Ar expr .It Ic " z=" Ar expr .No evaluate Python expression on current row and set current cell with result of Python Ar expr .Pp .It " i" .No add column with incremental values .It " gi" .No set current column for selected rows to incremental values .It " zi" Ar step .No add column with values at increment Ar step .It "gzi" Ar step .No set current column for selected rows at increment Ar step .El .Pp .Bl -tag -width XXXXXXXXXXXXXXX -compact .It Ic " '" Ns " (tick)" add a frozen copy of current column with all cells evaluated .It Ic "g'" open a frozen copy of current sheet with all visible columns evaluated .It Ic "z' gz'" add/reset cache for current/all visible column(s) .Pp .It Ic " \&:" Ar regex .No add new columns from Ar regex No split; number of columns determined by example row at cursor .It Ic " \&;" Ar regex .No add new columns from capture groups of Ar regex No (also requires example row) .It Ic "z" Ns Ic "\&;" Ar expr .No create new column from bash Ar expr Ns , with Sy $ Ns columnNames as variables .It Ic " *" Ar regex Ns Sy / Ns Ar subst .No add column derived from current column, replacing Ar regex No with Ar subst No (may include Sy \e1 No backrefs) .It Ic "g* gz*" Ar regex Ns Sy / Ns Ar subst .No modify selected rows in current/all visible column(s), replacing Ar regex No with Ar subst No (may include Sy \e1 No backrefs) .Pp .It Ic " ( g(" .No expand current/all visible column(s) of lists (e.g. Sy [3] Ns ) or dicts (e.g. Sy {3} Ns ) one level .It Ic "z( gz(" Ar depth .No expand current/all visible column(s) of lists (e.g. Sy [3] Ns ) or dicts (e.g. Sy {3} Ns ) to given Ar depth ( Ar 0 Ns = fully) .It Ic " ) g(" unexpand current/all visible column(s); restore original column and remove other columns at this level .It Ic "z) gz)" Ar depth .No contract current/all visible column(s) of former lists (e.g. Sy [3] Ns ) or dicts (e.g. Sy {3} Ns ) to given Ar depth ( Ar 0 Ns = fully) .It Ic "zM" .No row-wise expand current column of lists (e.g. Sy [3] Ns ) or dicts (e.g. Sy {3} Ns ) within that column .El .Ss Row Selection . .Bl -tag -width XXXXXXXXXXXXXXX -compact . .It Ic " s t u" select/toggle/unselect current row .It Ic " gs gt gu" select/toggle/unselect all rows .It Ic " zs zt zu" select/toggle/unselect all rows from top to cursor .It Ic "gzs gzt gzu" select/toggle/unselect all rows from cursor to bottom .It Ic " | \e\ " Ns Ar regex .No select/unselect rows matching Ar regex No in current column .It Ic "g| g\e\ " Ns Ar regex .No select/unselect rows matching Ar regex No in any visible column .It Ic "z| z\e\ " Ns Ar expr .No select/unselect rows matching Python Ar expr No in any visible column .It Ic " \&," Ns " (comma)" select rows matching display value of current cell in current column .It Ic "g\&," select rows matching display value of current row in all visible columns .It Ic "z\&, gz\&," select rows matching typed value of current cell/row in current column/all visible columns . .El . . .Ss Row Sorting/Filtering . .Bl -tag -width XXXXXXXXXXXXXXX -compact . .It Ic " [ ]" sort ascending/descending by current column; replace any existing sort criteria .It Ic " g[ g]" sort ascending/descending by all key columns; replace any existing sort criteria .It Ic " z[ z]" sort ascending/descending by current column; add to existing sort criteria .It Ic "gz[ gz]" sort ascending/descending by all key columns; add to existing sort criteria .It Ic " \&"" open duplicate sheet with only selected rows .It Ic "g\&"" open duplicate sheet with all rows .It Ic "gz\&"" open duplicate sheet with deepcopy of selected rows .El . . .Pp The rows in these duplicated sheets (except deepcopy) are references to rows on the original source sheets, and so edits to the filtered rows will naturally be reflected in the original rows. Use .Ic "g'" to freeze sheet contents in a deliberate copy. . .Ss Editing Rows and Cells . .Bl -tag -width XXXXXXXXXXXXXXX -compact .It Ic " a za" append blank row/column; appended columns cannot be copied to clipboard .It Ic " ga gza" Ar number .No append Ar number No blank rows/columns .It Ic " d gd" delete current/selected row(s) .It Ic " y gy" .No yank (copy) current/all selected row(s) to clipboard in Sy Memory Sheet .It Ic " x gx" .No cut (copy and delete) current/all selected row(s) to clipboard in Sy Memory Sheet .It Ic " zy gzy" .No yank (copy) contents of current column for current/selected row(s) to clipboard in Sy Memory Sheet .It Ic " zd gzd" .No set contents of current column for current/selected row(s) to Sy options.null_value .It Ic " zx gzx" .No cut (copy and delete) contents of current column for current/selected row(s) to clipboard in Sy Memory Sheet .It Ic " p P" paste clipboard rows after/before current row .It Ic " zp gzp" set cells of current column for current/selected row(s) to last clipboard value .It Ic " zP gzP" paste to cells of current column for current/selected row(s) using the system clipboard .It Ic " Y gY" .No yank (copy) current/all selected row(s) to system clipboard (using Sy options.clipboard_copy_cmd Ns ) .It Ic " zY gzY" .No yank (copy) contents of current column for current/selected row(s) to system clipboard (using Sy options.clipboard_copy_cmd Ns ) .It Ic " f" fill null cells in current column with contents of non-null cells up the current column . . .It Ic " e" Ar text edit contents of current cell .It Ic " ge" Ar text .No set contents of current column for selected rows to Ar text . .El . .Ss " Commands While Editing Input" .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic "Enter ^C" accept/abort input .It Ic "^O g^O" open external $EDITOR to edit contents of current/selected rows in current column .It Ic ^R reload initial value .It Ic "^A ^E" go to beginning/end of line .It Ic "^B ^F" go back/forward one character .It Ic "^\[u2190] ^\[u2192]" No (arrow) go back/forward one word .It Ic "^H ^D" delete previous/current character .It Ic ^T transpose previous and current characters .It Ic "^U ^K" clear from cursor to beginning/end of line .It Ic "^Y" paste from cell clipboard .It Ic "Backspace Del" delete previous/current character .It Ic Insert toggle insert mode .It Ic "Up Down" set contents to previous/next in history .It Ic "Tab Shift+Tab" .No move cursor left/right and re-enter edit mode .It Ic "Shift+Arrow" .No move cursor in direction of Sy Arrow No and re-enter edit mode . .El . .Ss Data Toolkit .Bl -tag -width XXXXXXXXXXXXXXX -compact .It Ic " o" Ar input open .Ar input No in Sy VisiData .It Ic "zo" open file or url from path in current cell .It Ic "^S g^S" Ar filename .No save current/all sheet(s) to Ar filename No in format determined by extension (default .tsv) .It "" .No Note: if the format does not support multisave, or the Ar filename No ends in a Sy / Ns , a directory will be created. .It Ic "z^S" Ar filename .No save current column only to Ar filename No in format determined by extension (default .tsv) .It Ic "^D" Ar filename.vdj .No save Sy CommandLog No to Ar filename.vdj No file .It Ic "A" .No open new blank sheet with one column .It Ic "T" .No open new sheet that has rows and columns of current sheet transposed .Pp .It Ic " +" Ar aggregator .No add Ar aggregator No to current column (see Sy "Frequency Table" Ns ) .It Ic "z+" Ar aggregator .No display result of Ar aggregator No over values in selected rows for current column; store result in Sy Memory Sheet .It Ic " &" .No append top two sheets in Sy Sheets Stack .It Ic "g&" .No append all sheets in Sy Sheets Stack .Pp .It Ic " w" Ar nBefore nAfter .No add column where each row contains a list of that row, Ar nBefore No rows, and Ar nAfter No rows .Pp .El .Ss Data Visualization .Bl -tag -width XXXXXXXXXXXXX -compact .It Ic " ." No (dot) .No plot current numeric column vs key columns. The numeric key column is used for the x-axis; categorical key column values determine color. .It Ic "g." .No plot a graph of all visible numeric columns vs key columns. .Pp .El .No If rows on the current sheet represent plottable coordinates (as in .shp or vector .mbtiles sources), .Ic " ." No plots the current row, and Ic "g." No plots all selected rows (or all rows if none selected). .Ss " Canvas-specific Commands" .Bl -tag -width XXXXXXXXXXXXXXXXXX -compact -offset XXX .It Ic " + -" increase/decrease zoom level, centered on cursor .It Ic " _" No (underbar) zoom to fit full extent .It Ic "z_" No (underbar) set aspect ratio .It Ic " x" Ar xmin xmax .No set Ar xmin Ns / Ns Ar xmax No on graph .It Ic " y" Ar ymin ymax .No set Ar ymin Ns / Ns Ar ymax No on graph .It Ic " s t u" select/toggle/unselect rows on source sheet contained within canvas cursor .It Ic "gs gt gu" select/toggle/unselect rows on source sheet visible on screen .It Ic " d" delete rows on source sheet contained within canvas cursor .It Ic "gd" delete rows on source sheet visible on screen .It Ic " Enter" open sheet of source rows contained within canvas cursor .It Ic "gEnter" open sheet of source rows visible on screen .It Ic " 1" No - Ic "9" toggle display of layers .It Ic "^L" redraw all pixels on canvas .It Ic " v" .No toggle Ic show_graph_labels No option .It Ic "mouse scrollwheel" zoom in/out of canvas .It Ic "left click-drag" set canvas cursor .It Ic "right click-drag" scroll canvas .El .Ss Split Screen .Bl -tag -width XXXXXXXXXXXXX -compact .It Ic " Z" .No split screen in half, so that second sheet on the stack is visible in a second pane .It Ic "zZ" .No split screen, and queries for height of second pane .El .Ss " Split Window specific Commands" .Bl -tag -width XXXXXXXXXXXXXXXXXX -compact -offset XXX .It Ic "gZ" .No close an already split screen, current pane full screens .It Ic " Z" .No push second sheet on current pane's stack to the top of the other pane's stack .It Ic " Tab" .No jump to other pane .It Ic "gTab" .No swap panes .It Ic "g Ctrl+^" .No cycle through sheets .Pp .El .Ss Other Commands . .Bl -tag -width XXXXXXXXXXXXXXX -compact .It Ic "Q" .No quit current sheet and remove it from the Sy CommandLog .It Ic "v" toggle sheet-specific visibility (multi-line rows on Sheet, legends/axes on Graph) .Pp .Pp .It Ic " ^E g^E" view traceback for most recent error(s) .It Ic "z^E" view traceback for error in current cell .Pp .It Ic " ^L" refresh screen .It Ic " ^R" reload current sheet .It Ic " ^Z" suspend VisiData process .It Ic " ^G" show cursor position and bounds of current sheet on status line .It Ic " ^V" show version and copyright information on status line .It Ic " ^P" .No open Sy Status History .It "m" Ar keystroke .No first, begin recording macro; second, prompt for Ar keystroke No , and complete recording. Macro can then be executed everytime provided keystroke is used. Will override existing keybinding. Macros will run on current row, column, sheet. .It "gm" .No open an index of all existing macros. Can be directly viewed with Sy Enter Ns , and then modified with Sy ^S Ns . . .El .Pp .Bl -tag -width XXXXXXXXXXXXXXX -compact .It Ic " ^Y z^Y g^Y" open current row/cell/sheet as Python object .It Ic " ^X" Ar expr .No evaluate Python Ar expr No and opens result as Python object .It Ic "z^X" Ar expr .No evaluate Python Ar expr Ns , in context of current row, and open result as Python object .It Ic "g^X" Ar module .No import Python Ar module No in the global scope .El . .Ss Internal Sheets List .Bl -tag -width Xx -compact .It Sy " \&." .Sy Directory Sheet No " browse properties of files in a directory" .It Sy " \&." .Sy Guide Index No " read documentation from within VisiData" .It Sy " \&." .Sy Memory Sheet No (Alt+Shift+M) " browse saved values, including clipboard" .It " " .It Sy Metasheets .It Sy " \&." .Sy Columns Sheet No (Shift+C) " edit column properties" .It Sy " \&." .Sy Sheets Sheet No (Shift+S) " jump between sheets or join them together" .It Sy " \&." .Sy Options Sheet No (Shift+O) " edit configuration options" .It Sy " \&." .Sy Commandlog No (Shift+D) " modify and save commands for replay" .It Sy " \&." .Sy Error Sheet No (Ctrl+E) " view last error" .It Sy " \&." .Sy Status History No (Ctrl+P) " view history of status messages" .It Sy " \&." .Sy Threads Sheet No (Ctrl+T) " view, cancel, and profile asynchronous threads" .Pp .It Sy Derived Sheets .It Sy " \&." .Sy Frequency Table No (Shift+F) " group rows by column value, with aggregations of other columns" .It Sy " \&." .Sy Describe Sheet No (Shift+I) " view summary statistics for each column" .It Sy " \&." .Sy Pivot Table No (Shift+W) " group rows by key and summarize current column" .It Sy " \&." .Sy Melted Sheet No (Shift+M) " unpivot non-key columns into variable/value columns" .It Sy " \&." .Sy Transposed Sheet No (Shift+T) " open new sheet with rows and columns transposed" .El . .Ss INTERNAL SHEETS .Ss Directory Sheet .Bl -inset -compact .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic Space Ar open-dir-current .No open the Sy Directory Sheet No for the current directory .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic "Enter gEnter" open current/selected file(s) as new sheet(s) .It Ic " ^O g^O" open current/selected file(s) in external $EDITOR .It Ic " ^R z^R gz^R" reload information for all/current/selected file(s) .It Ic " d gd" delete current/selected file(s) from filesystem, upon commit .It Ic " y gy" Ar directory .No copy current/selected file(s) to given Ar directory Ns , upon commit .It Ic " e ge" Ar name .No rename current/selected file(s) to Ar name .It Ic " ` (backtick)" open parent directory .It Ic "z^S" commit changes to file system .El . .Ss Guide Index .Bl -inset -compact .It Browse through a list of available guides. Each guide shows you how to use a particular feature. Gray guides have not been written yet. .El .Bl -inset -compact .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic Space Ar open-guide-index .No open the Sy Guide Index .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic "Enter" open a guide .El . .Ss Memory Sheet .Bl -inset -compact .It Browse through a list of stored values, referanceable in expressions through their Sy name Ns . .El .Bl -inset -compact .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic Alt+Shift+M .No open the Sy Memory Sheet .It Ic Alt+M Ar name .No store value in current cell in Sy Memory Sheet No under Ar name .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic "e" edit either value or name, to edit reference .El .Ss METASHEETS .Ss Columns Sheet (Shift+C) .Bl -inset -compact .It Properties of columns on the source sheet can be changed with standard editing commands ( Ns Sy e ge g= Del Ns ) on the Sy Columns Sheet Ns . Multiple aggregators can be set by listing them (separated by spaces) in the aggregators column. The 'g' commands affect the selected rows, which are the literal columns on the source sheet. .El .Bl -inset -compact .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic gC .No open Sy Columns Sheet No with all visible columns from all sheets .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic " &" add column from appending selected source columns .It Ic "g! gz!" toggle/unset selected columns as key columns on source sheet .It Ic "g+" Ar aggregator add Ar aggregator No to selected source columns .It Ic "g-" No (hyphen) hide selected columns on source sheet .It Ic "g~ g# g% g$ g@ gz# z%" set type of selected columns on source sheet to str/int/float/currency/date/len/floatsi .It Ic " Enter" .No open a Sy Frequency Table No sheet grouped by column referenced in current row .El . .Ss Sheets Sheet (Shift+S) .Bl -inset -compact .It open Sy Sheets Stack Ns , which contains only the active sheets on the current stack .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic gS .No open Sy Sheets Sheet Ns , which contains all sheets from current session, active and inactive .It Ic "Alt" Ar number .No jump to sheet Ar number Ns .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic " Enter" jump to sheet referenced in current row .It Ic "gEnter" push selected sheets to top of sheet stack .It Ic " a" add row to reference a new blank sheet .It Ic "gC gI" .No open Sy Columns Sheet Ns / Ns Sy Describe Sheet No with all visible columns from selected sheets .It Ic "g^R" .No reload all selected sheets .It Ic "z^C gz^C" abort async threads for current/selected sheets(s) .It Ic "g^S" save selected or all sheets .It Ic " &" Ar jointype .No merge selected sheets with visible columns from all, keeping rows according to Ar jointype Ns : .El .Bl -tag -width x -compact -offset XXXXXXXXXXXXXXXXXXXX .It Sy "\&." .Sy inner No " keep only rows which match keys on all sheets" .It Sy "\&." .Sy outer No " keep all rows from first selected sheet" .It Sy "\&." .Sy full No " keep all rows from all sheets (union)" .It Sy "\&." .Sy diff No " keep only rows NOT in all sheets" .It Sy "\&." .Sy append No "combine all rows from all sheets" .It Sy "\&." .Sy concat No "similar to 'append' but keep first sheet type and columns" .It Sy "\&." .Sy extend No "copy first selected sheet, keeping all rows and sheet type, and extend with columns from other sheets" .It Sy "\&." .Sy merge No " keep all rows from first sheet, updating any False-y cells with non-False-y values from second sheet; add unique rows from second sheet" .El . .Ss Options Sheet (Shift+O) .Bl -inset -compact .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic Shift+O .No edit global options (apply to Sy all sheets Ns ) .It Ic zO .No edit sheet options (apply to Sy current sheet No only) .It Ic gO .No open Sy options.config No as Sy TextSheet .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic "Enter e" edit option at current row .It Ic "d" remove option override for this context .It Ic "^S" .No save option configuration to Sy foo.visidatarc .El . .Ss CommandLog (Shift+D) .Bl -inset -compact .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic D .No open current sheet's Sy CommandLog No with all other loose ends removed; includes commands from parent sheets .It Ic gD .No open global Sy CommandLog No for all commands executed in the current session .It Ic zD .No open current sheet's Sy CommandLog No with the parent sheets commands' removed .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic " x" replay command in current row .It Ic " gx" replay contents of entire CommandLog .It Ic " ^C" abort replay .El . .Ss Threads Sheet (Ctrl+T) .Bl -inset -compact .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic ^T .No open global Sy Threads Sheet No for all asynchronous threads running .It Ic z^T .No open current sheet's Sy Threads Sheet No .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic " ^C" abort thread at current row .It Ic "g^C" .No abort all threads on current Sy Threads Sheet No .El . .Ss DERIVED SHEETS .Ss Frequency Table (Shift+F) .Bl -inset -compact .It A Sy Frequency Table No groups rows by one or more columns, and includes summary columns for those with aggregators. .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic gF open Frequency Table, grouped by all key columns on source sheet .It Ic zF open one-line summary for all rows and selected rows .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic " s t u" select/toggle/unselect these entries in source sheet .It Ic " Enter gEnter" open copy of source sheet with rows that are grouped in current cell / selected rows .El . .Ss Describe Sheet (Shift+I) .Bl -inset -compact .It A Sy Describe Sheet No contains descriptive statistics for all visible columns. .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic gI .No open Sy Describe Sheet No for all visible columns on all sheets .El .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic "zs zu" select/unselect rows on source sheet that are being described in current cell .It Ic " !" toggle/unset current column as a key column on source sheet .It Ic " Enter" .No open a Sy Frequency Table No sheet grouped on column referenced in current row .It Ic "zEnter" open copy of source sheet with rows described in current cell .El . .Ss Pivot Table (Shift+W) .Bl -inset -compact .It Set key column(s) and aggregators on column(s) before pressing Sy Shift+W No on the column to pivot. .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic " Enter" open sheet of source rows aggregated in current pivot row .It Ic "zEnter" open sheet of source rows aggregated in current pivot cell .El .Ss Melted Sheet (Shift+M) .Bl -inset -compact .It Open Melted Sheet (unpivot), with key columns retained and all non-key columns reduced to Variable-Value rows. .It (global commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic "gM" Ar regex .No open Melted Sheet (unpivot), with key columns retained and Ar regex No capture groups determining how the non-key columns will be reduced to Variable-Value rows. .El .Ss Python Object Sheet (^X ^Y g^Y z^Y) .Bl -inset -compact .It (sheet-specific commands) .El .Bl -tag -width XXXXXXXXXXXXXXX -compact -offset XXX .It Ic " Enter" dive further into Python object .It Ic " v" toggle show/hide for methods and hidden properties .It Ic "gv zv" show/hide methods and hidden properties .El . .Sh COMMANDLINE OPTIONS .No Add Sy -n Ns / Ns Sy --nonglobal No to make subsequent CLI options "sheet-specific" (applying only to paths specified directly on the CLI). By default, CLI options apply to all sheets. .Pp .No Options can also be set via the Ar Options Sheet No or a Ar .visidatarc No (see Sx FILES Ns ). .Pp .Bl -tag -width XXXXXXXXXXXXXXXXXXXXXXXXXXX -compact .It Cm -P Ns = Ns Ar longname .No preplay Ar longname No before replay or regular launch; limited to Sy Base Sheet No bound commands .It Cm + Ns Ar toplevel Ns : Ns Ar subsheet Ns : Ns Ar col Ns : Ns Ar row .No launch vd with Ar subsheet No of Ar toplevel No at top-of-stack, and cursor at Ar col No and Ar row Ns ; all arguments are optional .It Cm --overwrite Ns = Ns Ar c .No Overwrite with confirmation .It Cm --guides .No open Guide Index . .Pp .Lo f filetype filetype .No "tsv " set loader to use for .Ar filetype instead of file extension . .Lo d delimiter delimiter .No "\(rst " field delimiter to use for tsv/usv filetype . .Lo y overwrite y .No "y " overwrite existing files without confirmation . .Lo ro overwrite n .No "n " do not overwrite existing files . .Lo N nothing T .No "False " disable loading .visidatarc and plugin addons . .El .Bl -tag -width XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -compact .It Sy --visidata-dir Ns = Ns Ar "str " No "~/.visidata/" directory to load and store additional files .It Sy --debug No " False" exit on error and display stacktrace .It Sy --undo Ns = Ns Ar "bool " No "True" enable undo/redo .It Sy --col-cache-size Ns = Ns Ar "int " No "0" max number of cache entries in each cached column .It Sy --note-pending Ns = Ns Ar "str " No "\[u231B]" note to display for pending cells .It Sy --note-format-exc Ns = Ns Ar "str " No "?" cell note for an exception during formatting .It Sy --note-getter-exc Ns = Ns Ar "str " No "!" cell note for an exception during computation .It Sy --note-type-exc Ns = Ns Ar "str " No "!" cell note for an exception during type conversion .It Sy --scroll-incr Ns = Ns Ar "int " No "-3" amount to scroll with scrollwheel .It Sy --force-256-colors No " False" use 256 colors even if curses reports fewer .It Sy --quitguard No " False" confirm before quitting modified sheet .It Sy --default-width Ns = Ns Ar "int " No "20" default column width .It Sy --default-height Ns = Ns Ar "int " No "4" default column height .It Sy --textwrap-cells Ns = Ns Ar "bool " No "True" wordwrap text for multiline rows .It Sy --name-joiner Ns = Ns Ar "str " No "_" string to join sheet or column names .It Sy --value-joiner Ns = Ns Ar "str " No " " string to join display values .It Sy --wrap No " False" wrap text to fit window width on TextSheet .It Sy --save-filetype Ns = Ns Ar "str " No "tsv" specify default file type to save as .It Sy --profile No " False" enable profiling on threads .It Sy --min-memory-mb Ns = Ns Ar "int " No "0" minimum memory to continue loading and async processing .It Sy --encoding Ns = Ns Ar "str " No "utf-8-sig" encoding passed to codecs.open when reading a file .It Sy --encoding-errors Ns = Ns Ar "str " No "surrogateescape" encoding_errors passed to codecs.open .It Sy --mouse-interval Ns = Ns Ar "int " No "1" max time between press/release for click (ms) .It Sy --bulk-select-clear No " False" clear selected rows before new bulk selections .It Sy --some-selected-rows No " False" if no rows selected, if True, someSelectedRows returns all rows; if False, fails .It Sy --regex-skip Ns = Ns Ar "str " No "" regex of lines to skip in text sources .It Sy --regex-flags Ns = Ns Ar "str " No "I" flags to pass to re.compile() [AILMSUX] .It Sy --load-lazy No " False" load subsheets always (False) or lazily (True) .It Sy --skip Ns = Ns Ar "int " No "0" skip N rows before header .It Sy --header Ns = Ns Ar "int " No "1" parse first N rows as column names .It Sy --delimiter Ns = Ns Ar "str " No " " field delimiter to use for tsv/usv filetype .It Sy --row-delimiter Ns = Ns Ar "str " No " " row delimiter to use for tsv/usv filetype .It Sy --tsv-safe-newline Ns = Ns Ar "str " No "" replacement for newline character when saving to tsv .It Sy --tsv-safe-tab Ns = Ns Ar "str " No "" replacement for tab character when saving to tsv .It Sy --visibility Ns = Ns Ar "int " No "0" visibility level .It Sy --default-sample-size Ns = Ns Ar "int " No "100" number of rows to sample for regex.split (0=all) .It Sy --fmt-expand-dict Ns = Ns Ar "str " No "%s.%s" format str to use for names of columns expanded from dict (colname, key) .It Sy --fmt-expand-list Ns = Ns Ar "str " No "%s[%s]" format str to use for names of columns expanded from list (colname, index) .It Sy --json-indent Ns = Ns Ar "NoneType " No "None" indent to use when saving json .It Sy --json-sort-keys No " False" sort object keys when saving to json .It Sy --json-ensure-ascii Ns = Ns Ar "bool " No "True" ensure ascii encode when saving json .It Sy --default-colname Ns = Ns Ar "str " No "" column name to use for non-dict rows .It Sy --filetype Ns = Ns Ar "str " No "" specify file type .It Sy --safe-error Ns = Ns Ar "str " No "#ERR" error string to use while saving .It Sy --save-encoding Ns = Ns Ar "str " No "utf-8" encoding passed to codecs.open when saving a file .It Sy --clean-names No " False" clean column/sheet names to be valid Python identifiers .It Sy --replay-wait Ns = Ns Ar "float " No "0.0" time to wait between replayed commands, in seconds .It Sy --rowkey-prefix Ns = Ns Ar "str " No "\[u30AD]" string prefix for rowkey in the cmdlog .It Sy --clipboard-copy-cmd Ns = Ns Ar "str " No "xclip -selection clipboard -filter" command to copy stdin to system clipboard .It Sy --clipboard-paste-cmd Ns = Ns Ar "str " No "xclip -selection clipboard -o" command to send contents of system clipboard to stdout .It Sy --fancy-chooser No " False" a nicer selection interface for aggregators and jointype .It Sy --null-value Ns = Ns Ar "NoneType " No "None" a value to be counted as null .It Sy --histogram-bins Ns = Ns Ar "int " No "0" number of bins for histogram of numeric columns .It Sy --numeric-binning No " False" bin numeric columns into ranges .It Sy --plot-colors Ns = Ns Ar "str " No "" list of distinct colors to use for plotting distinct objects .It Sy --motd-url Ns = Ns Ar "str " No "" source of randomized startup messages .It Sy --dir-depth Ns = Ns Ar "int " No "0" folder recursion depth on DirSheet .It Sy --dir-hidden No " False" load hidden files on DirSheet .It Sy --config Ns = Ns Ar "Path " No "~/.visidatarc" config file to exec in Python .It Sy --play Ns = Ns Ar "str " No "" file.vdj to replay .It Sy --batch No " False" replay in batch mode (with no interface and all status sent to stdout) .It Sy --output Ns = Ns Ar "NoneType " No "None" save the final visible sheet to output at the end of replay .It Sy --preplay Ns = Ns Ar "str " No "" longnames to preplay before replay .It Sy --imports Ns = Ns Ar "str " No "plugins" imports to preload before .visidatarc (command-line only) .It Sy --nothing No " False" no config, no plugins, nothing extra .It Sy --interactive No " False" run interactive mode after batch replay .It Sy --overwrite Ns = Ns Ar "str " No "c" overwrite existing files {y=yes|c=confirm|n=no} .It Sy --plugins-autoload Ns = Ns Ar "bool " No "True" do not autoload plugins if False .It Sy --theme Ns = Ns Ar "str " No "" display/color theme to use .It Sy --airtable-auth-token Ns = Ns Ar "str " No "" Airtable API key from https://airtable.com/account .It Sy --matrix-token Ns = Ns Ar "str " No "" matrix API token .It Sy --matrix-user-id Ns = Ns Ar "str " No "" matrix user ID associated with token .It Sy --matrix-device-id Ns = Ns Ar "str " No "VisiData" device ID associated with matrix login .It Sy --reddit-client-id Ns = Ns Ar "str " No "" client_id for reddit api .It Sy --reddit-client-secret Ns = Ns Ar "str " No "" client_secret for reddit api .It Sy --reddit-user-agent Ns = Ns Ar "str " No "3.0.2" user_agent for reddit api .It Sy --zulip-batch-size Ns = Ns Ar "int " No "-100" number of messages to fetch per call (<0 to fetch before anchor) .It Sy --zulip-anchor Ns = Ns Ar "int " No "1000000000" message id to start fetching from .It Sy --zulip-delay-s Ns = Ns Ar "float " No "1e-05" seconds to wait between calls (0 to stop after first) .It Sy --zulip-api-key Ns = Ns Ar "str " No "" Zulip API key .It Sy --zulip-email Ns = Ns Ar "str " No "" Email for use with Zulip API key .It Sy --csv-dialect Ns = Ns Ar "str " No "excel" dialect passed to csv.reader .It Sy --csv-delimiter Ns = Ns Ar "str " No "," delimiter passed to csv.reader .It Sy --csv-quotechar Ns = Ns Ar "str " No """ quotechar passed to csv.reader .It Sy --csv-skipinitialspace Ns = Ns Ar "bool " No "True" skipinitialspace passed to csv.reader .It Sy --csv-escapechar Ns = Ns Ar "NoneType " No "None" escapechar passed to csv.reader .It Sy --csv-lineterminator Ns = Ns Ar "str " No " " lineterminator passed to csv.writer .It Sy --safety-first No " False" sanitize input/output to handle edge cases, with a performance cost .It Sy --f5log-object-regex Ns = Ns Ar "NoneType" No "None" A regex to perform on the object name, useful where object names have a structure to extract. Use the (?P...) named groups form to get column names. .It Sy --f5log-log-year Ns = Ns Ar "NoneType " No "None" Override the default year used for log parsing. Use all four digits of the year (e.g., 2022). By default (None) use the year from the ctime of the file, or failing that the current year. .It Sy --f5log-log-timezone Ns = Ns Ar "str " No "UTC" The timezone the source file is in, by default UTC. .It Sy --fixed-rows Ns = Ns Ar "int " No "1000" number of rows to check for fixed width columns .It Sy --fixed-maxcols Ns = Ns Ar "int " No "0" max number of fixed-width columns to create (0 is no max) .It Sy --graphviz-edge-labels Ns = Ns Ar "bool " No "True" whether to include edge labels on graphviz diagrams .It Sy --html-title Ns = Ns Ar "str " No "

{sheet.name}

" table header when saving to html .It Sy --http-max-next Ns = Ns Ar "int " No "0" max next.url pages to follow in http response .It Sy --http-req-headers Ns = Ns Ar "dict " No "{}" http headers to send to requests .It Sy --http-ssl-verify Ns = Ns Ar "bool " No "True" verify host and certificates for https .It Sy --npy-allow-pickle No " False" numpy allow unpickling objects (unsafe) .It Sy --pcap-internet Ns = Ns Ar "str " No "n" (y/s/n) if save_dot includes all internet hosts separately (y), combined (s), or does not include the internet (n) .It Sy --pdf-tables No " False" parse PDF for tables instead of pages of text .It Sy --postgres-schema Ns = Ns Ar "str " No "public" The desired schema for the Postgres database .It Sy --s3-endpoint Ns = Ns Ar "str " No "" alternate S3 endpoint, used for local testing or alternative S3-compatible services .It Sy --s3-glob Ns = Ns Ar "bool " No "True" enable glob-matching for S3 paths .It Sy --s3-version-aware No " False" show all object versions in a versioned bucket .It Sy --sqlite-onconnect Ns = Ns Ar "str " No "" sqlite statement to execute after opening a connection .It Sy --xlsx-meta-columns No " False" include columns for cell objects, font colors, and fill colors .It Sy --xml-parser-huge-tree Ns = Ns Ar "bool " No "True" allow very deep trees and very long text content .It Sy --plt-marker Ns = Ns Ar "str " No "." matplotlib.markers .It Sy --plot-palette Ns = Ns Ar "str " No "Set3" colorbrewer palette to use .It Sy --server-addr Ns = Ns Ar "str " No "127.0.0.1" IP address to listen for commands .It Sy --server-port Ns = Ns Ar "int " No "0" port to listen for commands .It Sy --fixer-api-key Ns = Ns Ar "str " No "" API Key for api.apilayer.com/fixer .It Sy --fixer-cache-days Ns = Ns Ar "int " No "1" Cache days for currency conversions .It Sy --describe-aggrs Ns = Ns Ar "str " No "mean stdev" numeric aggregators to calculate on Describe sheet .It Sy --hello-world Ns = Ns Ar "str " No "\[u00A1]Hola mundo!" shown by the hello-world command .It Sy --incr-base Ns = Ns Ar "float " No "1.0" start value for column increments .It Sy --ping-count Ns = Ns Ar "int " No "3" send this many pings to each host .It Sy --ping-interval Ns = Ns Ar "float " No "0.1" wait between ping rounds, in seconds .It Sy --regex-maxsplit Ns = Ns Ar "int " No "0" maxsplit to pass to regex.split .It Sy --rename-cascade No " False" cascade column renames into expressions .It Sy --faker-locale Ns = Ns Ar "str " No "en_US" default locale to use for Faker .It Sy --faker-extra-providers Ns = Ns Ar "NoneType" No "None" list of additional Provider classes to load via add_provider() .It Sy --faker-salt Ns = Ns Ar "str " No "" Use a non-empty string to enable deterministic fakes .It Sy --mailcap-mimetype Ns = Ns Ar "str " No "" force mimetype for sysopen-mailcap .It Sy --unfurl-empty No " False" if unfurl includes rows for empty containers .El . .Ss DISPLAY OPTIONS .No Display options can only be set via the Sx Options Sheet No or a Pa .visidatarc No (see Sx FILES Ns ). .Pp . .Bl -tag -width XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -compact .It Sy "disp_menu " No "True" show menu on top line when not active .It Sy "disp_menu_keys " No "True" show keystrokes inline in submenus .It Sy "color_menu " No "black on 68 blue" color of menu items in general .It Sy "color_menu_active " No "223 yellow on black" color of active menu items .It Sy "color_menu_spec " No "black on 34 green" color of sheet-specific menu items .It Sy "color_menu_help " No "black italic on 68 blue" color of helpbox .It Sy "disp_menu_boxchars " No "\[u2502]\[u2502]\[u2500]\[u2500]\[u250C]\[u2510]\[u2514]\[u2518]\[u251C]\[u2524]" box characters to use for menus .It Sy "disp_menu_more " No "\[u00BB]" command submenu indicator .It Sy "disp_menu_push " No "\[u2398]" indicator if command pushes sheet onto sheet stack .It Sy "disp_menu_input " No "\[u2026]" indicator if input required for command .It Sy "disp_menu_fmt " No "| VisiData {vd.version} | Alt+H for help menu" right-side menu format string .It Sy "disp_float_fmt " No "{:.02f}" default fmtstr to format float values .It Sy "disp_int_fmt " No "{:d}" default fmtstr to format int values .It Sy "disp_formatter " No "generic" formatter to create the text in each cell (also used by text savers) .It Sy "disp_displayer " No "generic" displayer to render the text in each cell .It Sy "disp_splitwin_pct " No "0" height of second sheet on screen .It Sy "disp_note_none " No "\[u2300]" visible contents of a cell whose value is None .It Sy "disp_truncator " No "\[u2026]" indicator that the contents are only partially visible .It Sy "disp_oddspace " No "\[u00B7]" displayable character for odd whitespace .It Sy "disp_more_left " No "<" header note indicating more columns to the left .It Sy "disp_more_right " No ">" header note indicating more columns to the right .It Sy "disp_error_val " No "" displayed contents for computation exception .It Sy "disp_ambig_width " No "1" width to use for unicode chars marked ambiguous .It Sy "disp_pending " No "" string to display in pending cells .It Sy "color_note_pending " No "bold magenta" color of note in pending cells .It Sy "color_note_type " No "226 yellow" color of cell note for non-str types in anytype columns .It Sy "color_note_row " No "220 yellow" color of row note on left edge .It Sy "disp_column_sep " No "\[u2502]" separator between columns .It Sy "disp_keycol_sep " No "\[u2551]" separator between key columns and rest of columns .It Sy "disp_rowtop_sep " No "\[u2502]" .It Sy "disp_rowmid_sep " No "\[u205D]" .It Sy "disp_rowbot_sep " No "\[u205D]" .It Sy "disp_rowend_sep " No "\[u2551]" .It Sy "disp_keytop_sep " No "\[u2551]" .It Sy "disp_keymid_sep " No "\[u2551]" .It Sy "disp_keybot_sep " No "\[u2551]" .It Sy "disp_endtop_sep " No "\[u2551]" .It Sy "disp_endmid_sep " No "\[u2551]" .It Sy "disp_endbot_sep " No "\[u2551]" .It Sy "disp_selected_note " No "\[u2022]" .It Sy "disp_sort_asc " No "\[u2191]\[u219F]\[u21DE]\[u21E1]\[u21E7]\[u21D1]" characters for ascending sort .It Sy "disp_sort_desc " No "\[u2193]\[u21A1]\[u21DF]\[u21E3]\[u21E9]\[u21D3]" characters for descending sort .It Sy "color_default " No "white on black" the default fg and bg colors .It Sy "color_default_hdr " No "bold" color of the column headers .It Sy "color_bottom_hdr " No "underline" color of the bottom header row .It Sy "color_current_row " No "reverse" color of the cursor row .It Sy "color_current_col " No "bold" color of the cursor column .It Sy "color_current_cell " No "" color of current cell, if different from color_current_row+color_current_col .It Sy "color_current_hdr " No "bold reverse" color of the header for the cursor column .It Sy "color_column_sep " No "246 blue" color of column separators .It Sy "color_key_col " No "81 cyan" color of key columns .It Sy "color_hidden_col " No "8" color of hidden columns on metasheets .It Sy "color_selected_row " No "215 yellow" color of selected rows .It Sy "color_clickable " No "underline" color of internally clickable item .It Sy "color_code " No "bold white on 237" color of code sample .It Sy "color_heading " No "bold 200" color of header .It Sy "color_guide_unwritten" No "243 on black" color of unwritten guides in GuideGuide .It Sy "disp_rstatus_fmt " No "{sheet.threadStatus} {sheet.keystrokeStatus} [:longname]{sheet.longname}[/] {sheet.nRows:9d} {sheet.rowtype} {sheet.modifiedStatus}{sheet.selectedStatus}{vd.replayStatus}" right-side status format string .It Sy "disp_status_fmt " No "[:onclick sheets-stack]{sheet.shortcut}\[u203A] {sheet.name}[/]| " status line prefix .It Sy "disp_lstatus_max " No "0" maximum length of left status line .It Sy "disp_status_sep " No "\[u2502]" separator between statuses .It Sy "color_keystrokes " No "bold white on 237" color of input keystrokes .It Sy "color_longname " No "bold 52 on 114 green" color of command longnames .It Sy "color_keys " No "bold" color of keystrokes in help .It Sy "color_status " No "bold on 238" status line color .It Sy "color_error " No "202 1" error message color .It Sy "color_warning " No "166 15" warning message color .It Sy "color_top_status " No "underline" top window status bar color .It Sy "color_active_status" No "black on 68 blue" active window status bar color .It Sy "color_inactive_status" No "8 on black" inactive window status bar color .It Sy "color_highlight_status" No "black on green" color of highlighted elements in statusbar .It Sy "color_working " No "118 5" color of system running smoothly .It Sy "color_edit_unfocused" No "238 on 110" display color for unfocused input in form .It Sy "color_edit_cell " No "233 on 110" cell color to use when editing cell .It Sy "disp_edit_fill " No "_" edit field fill character .It Sy "disp_unprintable " No "\[u00B7]" substitute character for unprintables .It Sy "disp_date_fmt " No "%Y-%m-%d" default fmtstr passed to strftime for date values .It Sy "disp_currency_fmt " No "%.02f" default fmtstr to format for currency values .It Sy "color_currency_neg " No "red" color for negative values in currency displayer .It Sy "disp_replay_play " No "\[u25B6]" status indicator for active replay .It Sy "color_status_replay" No "green" color of replay status indicator .It Sy "disp_histogram " No "\[u25A0]" histogram element character .It Sy "disp_graph_labels " No "True" show axes and legend on graph .It Sy "disp_canvas_charset" No "\[u2800]\[u2801]\[u2802]\[u2803]\[u2804]\[u2805]\[u2806]\[u2807]\[u2808]\[u2809]\[u280A]\[u280B]\[u280C]\[u280D]\[u280E]\[u280F]\[u2810]\[u2811]\[u2812]\[u2813]\[u2814]\[u2815]\[u2816]\[u2817]\[u2818]\[u2819]\[u281A]\[u281B]\[u281C]\[u281D]\[u281E]\[u281F]\[u2820]\[u2821]\[u2822]\[u2823]\[u2824]\[u2825]\[u2826]\[u2827]\[u2828]\[u2829]\[u282A]\[u282B]\[u282C]\[u282D]\[u282E]\[u282F]\[u2830]\[u2831]\[u2832]\[u2833]\[u2834]\[u2835]\[u2836]\[u2837]\[u2838]\[u2839]\[u283A]\[u283B]\[u283C]\[u283D]\[u283E]\[u283F]\[u2840]\[u2841]\[u2842]\[u2843]\[u2844]\[u2845]\[u2846]\[u2847]\[u2848]\[u2849]\[u284A]\[u284B]\[u284C]\[u284D]\[u284E]\[u284F]\[u2850]\[u2851]\[u2852]\[u2853]\[u2854]\[u2855]\[u2856]\[u2857]\[u2858]\[u2859]\[u285A]\[u285B]\[u285C]\[u285D]\[u285E]\[u285F]\[u2860]\[u2861]\[u2862]\[u2863]\[u2864]\[u2865]\[u2866]\[u2867]\[u2868]\[u2869]\[u286A]\[u286B]\[u286C]\[u286D]\[u286E]\[u286F]\[u2870]\[u2871]\[u2872]\[u2873]\[u2874]\[u2875]\[u2876]\[u2877]\[u2878]\[u2879]\[u287A]\[u287B]\[u287C]\[u287D]\[u287E]\[u287F]\[u2880]\[u2881]\[u2882]\[u2883]\[u2884]\[u2885]\[u2886]\[u2887]\[u2888]\[u2889]\[u288A]\[u288B]\[u288C]\[u288D]\[u288E]\[u288F]\[u2890]\[u2891]\[u2892]\[u2893]\[u2894]\[u2895]\[u2896]\[u2897]\[u2898]\[u2899]\[u289A]\[u289B]\[u289C]\[u289D]\[u289E]\[u289F]\[u28A0]\[u28A1]\[u28A2]\[u28A3]\[u28A4]\[u28A5]\[u28A6]\[u28A7]\[u28A8]\[u28A9]\[u28AA]\[u28AB]\[u28AC]\[u28AD]\[u28AE]\[u28AF]\[u28B0]\[u28B1]\[u28B2]\[u28B3]\[u28B4]\[u28B5]\[u28B6]\[u28B7]\[u28B8]\[u28B9]\[u28BA]\[u28BB]\[u28BC]\[u28BD]\[u28BE]\[u28BF]\[u28C0]\[u28C1]\[u28C2]\[u28C3]\[u28C4]\[u28C5]\[u28C6]\[u28C7]\[u28C8]\[u28C9]\[u28CA]\[u28CB]\[u28CC]\[u28CD]\[u28CE]\[u28CF]\[u28D0]\[u28D1]\[u28D2]\[u28D3]\[u28D4]\[u28D5]\[u28D6]\[u28D7]\[u28D8]\[u28D9]\[u28DA]\[u28DB]\[u28DC]\[u28DD]\[u28DE]\[u28DF]\[u28E0]\[u28E1]\[u28E2]\[u28E3]\[u28E4]\[u28E5]\[u28E6]\[u28E7]\[u28E8]\[u28E9]\[u28EA]\[u28EB]\[u28EC]\[u28ED]\[u28EE]\[u28EF]\[u28F0]\[u28F1]\[u28F2]\[u28F3]\[u28F4]\[u28F5]\[u28F6]\[u28F7]\[u28F8]\[u28F9]\[u28FA]\[u28FB]\[u28FC]\[u28FD]\[u28FE]\[u28FF]" charset to render 2x4 blocks on canvas .It Sy "disp_pixel_random " No "False" randomly choose attr from set of pixels instead of most common .It Sy "disp_zoom_incr " No "2.0" amount to multiply current zoomlevel when zooming .It Sy "color_graph_hidden " No "238 blue" color of legend for hidden attribute .It Sy "color_graph_selected" No "bold" color of selected graph points .It Sy "color_graph_axis " No "bold" color for graph axis labels .It Sy "disp_graph_tick_x " No "\[u2575]" character for graph x-axis ticks .It Sy "disp_help " No "2" show help panel during input .It Sy "color_add_pending " No "green" color for rows pending add .It Sy "color_change_pending" No "reverse yellow" color for cells pending modification .It Sy "color_delete_pending" No "red" color for rows pending delete .It Sy "disp_sidebar " No "True" whether to display sidebar .It Sy "disp_sidebar_fmt " No "{guide}" format string for default sidebar .It Sy "disp_sidebar_width " No "0" max width for sidebar .It Sy "disp_sidebar_height" No "0" max height for sidebar .It Sy "color_sidebar " No "black on 114 blue" base color of sidebar .It Sy "color_sidebar_title" No "black on yellow" color of sidebar title .It Sy "color_match " No "red" color for matching chars in palette chooser .It Sy "color_f5log_mon_up " No "green" color of f5log monitor status up .It Sy "color_f5log_mon_down" No "red" color of f5log monitor status down .It Sy "color_f5log_mon_unknown" No "blue" color of f5log monitor status unknown .It Sy "color_f5log_mon_checking" No "magenta" color of monitor status checking .It Sy "color_f5log_mon_disabled" No "black" color of monitor status disabled .It Sy "color_f5log_logid_alarm" No "red" color of alarms .It Sy "color_f5log_logid_warn" No "yellow" color of warnings .It Sy "color_f5log_logid_notice" No "cyan" color of notice .It Sy "color_f5log_logid_info" No "green" color of info .It Sy "color_xword_active " No "green" color of active clue .It Sy "color_cmdpalette " No "black on 72" base color of command palette .It Sy "disp_cmdpal_max " No "10" max number of suggestions for command palette .It Sy "color_shellcmd " No "21 on 114 green" .It Sy "color_colname " No "underline" .It Sy "disp_scroll_context" No "0" minimum number of lines to keep visible above/below cursor when scrolling .It Sy "disp_sparkline " No "\[u2581]\[u2582]\[u2583]\[u2584]\[u2585]\[u2586]\[u2587]" characters to display sparkline .El . .Sh EXAMPLES .Dl Nm vd .No launch Sy DirSheet No for current directory .Pp .Dl Nm vd Cm foo.tsv .No open the file foo.tsv in the current directory .Pp .Dl Nm vd Cm -f ddw .No open blank sheet of type ddw .Pp .Dl Nm vd Cm new.tsv .No open new blank tsv sheet named Ar new .Pp .Dl Nm vd Cm -f sqlite bar.db .No open the file bar.db as a sqlite database .Pp .Dl Nm vd Cm foo.tsv -n -f sqlite bar.db .No open foo.tsv as tsv and bar.db as a sqlite database .Pp .Dl Nm vd Cm -f sqlite foo.tsv bar.db .No open both foo.tsv and bar.db as a sqlite database .Pp .Dl Nm vd Cm -b countries.fixed -o countries.tsv .No convert countries.fixed (in fixed width format) to countries.tsv (in tsv format) .Pp .Dl Nm vd Cm postgres:// Ns Ar username Ns Sy "\&:" Ns Ar password Ns Sy @ Ns Ar hostname Ns Sy "\&:" Ns Ar port Ns Sy / Ns Ar database .No open a connection to the given postgres database .Pp .Dl Nm vd Cm --play tests/pivot.vdj --replay-wait 1 --output tests/pivot.tsv .No replay tests/pivot.vdj, waiting 1 second between commands, and output the final sheet to test/pivot.tsv .Pp .Dl Ic ls -l | Nm vd Cm -f fixed --skip 1 --header 0 .No parse the output of ls -l into usable data .Pp .Dl Ic ls | vd | lpr .No interactively select a list of filenames to send to the printer .Pp .Dl Ic vd newfile.tsv .No open a blank sheet named Ar newfile No if file does not exist .Pp .Dl Ic vd sample.xlsx +:sheet1:2:3 .No launch with Sy sheet1 No at top-of-stack, and cursor at column Sy 2 No and row Sy 3 .Pp .Dl Ic vd -P open-plugins .No preplay longname Sy open-plugins No before starting the session .Sh FILES At the start of every session, .Sy VisiData No looks for Pa $HOME/.visidatarc Ns , and calls Python exec() on its contents if it exists. For example: .Bd -literal options.min_memory_mb=100 # stop processing without 100MB free bindkey('0', 'go-leftmost') # alias '0' to go to first column, like vim def median(values): L = sorted(values) return L[len(L)//2] vd.aggregator('median', median) .Ed .Pp Functions defined in .visidatarc are available in python expressions (e.g. in derived columns). . .Sh SUPPORTED SOURCES Core VisiData includes these sources: .Pp .Bl -inset -compact -offset xxx .It Sy tsv No (tab-separated value) .Bl -inset -compact -offset xxx .It Plain and simple. Nm VisiData No writes tsv format by default. See the Sy --tsv-delimiter No option. .El .El .Pp .Bl -inset -compact -offset xxx .It Sy csv No (comma-separated value) .Bl -inset -compact -offset xxx .It .csv files are a scourge upon the earth, and still regrettably common. .It See the Sy --csv-dialect Ns , Sy --csv-delimiter Ns , Sy --csv-quotechar Ns , and Sy --csv-skipinitialspace No options. .It Accepted dialects are Ic excel-tab Ns , Ic unix Ns , and Ic excel Ns . .El .El .Pp .Bl -inset -compact -offset xxx .It Sy fixed No (fixed width text) .Bl -inset -compact -offset xxx .It Columns are autodetected from the first 1000 rows (adjustable with Sy --fixed-rows Ns ). .El .El .Pp .Bl -inset -compact -offset xxx .It Sy json No (single object) and Sy jsonl Ns / Ns Sy ndjson Ns / Ns Sy ldjson No (one object per line). .Bl -inset -compact -offset xxx .It Cells containing lists (e.g. Sy [3] Ns ) or dicts ( Ns Sy {3} Ns ) can be expanded into new columns with Sy "\&(" No and unexpanded with Sy "\&)" Ns . .El .El .Pp .Bl -inset -compact -offset xxx .It Sy sqlite .Bl -inset -compact -offset xxx .It May include multiple tables. The initial sheet is the table directory; .Sy Enter No loads the entire table into memory. Sy z^S No saves modifications to source. .El .El .Pp URL schemes are also supported: .Bl -inset -compact -offset xxx .It Sy http No (requires Sy requests Ns ); can be used as transport for with another filetype .El . .Pp For a list of all remaining formats supported by VisiData, see https://visidata.org/formats. .Pp In addition, .Sy .zip Ns , Sy .gz Ns , Sy .bz2 Ns , Sy .xz Ns , Sy ,zstd Ns , and Sy .zst No files are decompressed on the fly. .Pp . .Sh AUTHOR .Nm VisiData was made by .An Saul Pwanson Aq Mt vd@saul.pw Ns .