1vd(1)                        Quick Reference Guide                       vd(1)
2

NAME

4     VisiData — a terminal utility for exploring and arranging tabular data
5

SYNOPSIS

7     vd [options] [input ...]
8     vd [options] --play cmdlog [-w waitsecs] [--batch] [-o output]
9        [field=value]
10     vd [options] [input ...] +toplevel:subsheet:col:row
11

DESCRIPTION

13     VisiData is an easy-to-use multipurpose tool to explore, clean, edit, and
14     restructure data. Rows can be selected, filtered, and grouped; columns
15     can be rearranged, transformed, and derived via regex or Python expres‐
16     sions; and workflows can be saved, documented, and replayed.
17
18   REPLAY MODE
19     -p, --play=cmdlog       replay a saved cmdlog within the interface
20     -w, --replay-wait=seconds
21                             wait seconds between commands
22     -b, --batch             replay in batch mode (with no interface)
23     -o, --output=file       save final visible sheet to file as .tsv
24     --replay-movement       toggle --play to move cursor cell-by-cell
25     field=value             replace "{field}" in cmdlog contents with value
26
27   Commands During Replay
28        ^U                   pause/resume replay
29        ^N                   execute next row in replaying sheet
30        ^K                   cancel current replay
31
32   GLOBAL COMMANDS
33     All keystrokes are case sensitive. The ^ prefix is shorthand for Ctrl.
34
35   Keystrokes to start off with
36      ^Q              abort program immediately
37      ^C              cancel user input or abort all async threads on current
38                      sheet
39     g^C              abort all secondary threads
40       q              quit current sheet or menu
41       Q              quit current sheet and free associated memory
42      gq              quit all sheets (clean exit)
43
44      ^H              activate help menu (Enter/left-mouse to expand submenu
45                      or execute command)
46     g^H              view this man page
47     z^H              view sheet of command longnames and keybindings for cur‐
48                      rent sheet
49     Space longname   execute command by its longname
50
51       U              undo the most recent modification (requires enabled
52                      options.undo)
53       R              redo the most recent undo (requires enabled
54                      options.undo)
55
56   Cursor Movement
57     Arrow PgUp       go as expected
58      h   j   k   l   go left/down/up/right
59     gh  gj  gk  gl   go all the way to the left/bottom/top/right of sheet
60          G  gg       go all the way to the bottom/top of sheet
61     Ic. End  Home    go all the way to the bottom/top of sheet
62     ^B  ^F           scroll one page back/forward
63     ^Left ^Right     scroll one page left/right
64     zz               scroll current row to center of screen
65
66     ^^ (Ctrl+^)      jump to previous sheet (swaps with current sheet)
67
68      /   ? regex     search for regex forward/backward in current column
69     g/  g? regex     search for regex forward/backward over all visible
70                      columns
71     z/  z? expr      search by Python expr forward/backward in current column
72                      (with column names as variables)
73      n   N           go to next/previous match from last regex search
74
75      <   >           go up/down current column to next value
76     z<  z>           go up/down current column to next null value
77      {   }           go up/down current column to next selected row
78
79      c regex         go to next column with name matching regex
80      r regex         go to next row with key matching regex
81     zc  zr number    go to column/row number (0-based)
82
83      H   J   K   L   slide current row/column left/down/up/right
84     gH  gJ  gK  gL   slide current row/column all the way to the left/bot‐
85                      tom/top/right of sheet
86     zH  zJ  zK  zK number
87                      slide current row/column number positions to the
88                      left/down/up/right
89
90     zh  zj  zk  zl   scroll one left/down/up/right
91
92   Column Manipulation
93       _ (underbar)   toggle width of current column between full and default
94                      width
95      g_              toggle widths of all visible columns between full and
96                      default width
97      z_ number       adjust width of current column to number
98     gz_ number       adjust widths of all visible columns to Ar number
99
100      - (hyphen)      hide current column
101     z-               reduce width of current column by half
102     gv               unhide all columns
103
104     ! z!             toggle/unset current column as a key column
105     ~  #  %  $  @  z#
106                      set type of current column to str/int/float/cur‐
107                      rency/date/len
108       ^              rename current column
109      g^              rename all unnamed visible columns to contents of se‐
110                      lected rows (or current row)
111      z^              rename current column to combined contents of current
112                      cell in selected rows (or current row)
113     gz^              rename all visible columns to combined contents of cur‐
114                      rent column for selected rows (or current row)
115
116       = expr         create new column from Python expr, with column names,
117                      and attributes, as variables
118      g= expr         set current column for selected rows to result of Python
119                      expr
120     gz= expr         set current column for selected rows to the items in
121                      result of Python sequence expr
122      z= expr         evaluate Python expression on current row and set
123                      current cell with result of Python expr
124
125       i              add column with incremental values
126      gi              set current column for selected rows to incremental
127                      values
128      zi step         add column with values at increment step
129     gzi step         set current column for selected rows at increment step
130
131      ' (tick)        add a frozen copy of current column with all cells eval‐
132                      uated
133     g'               open a frozen copy of current sheet with all visible
134                      columns evaluated
135     z'  gz'          add/reset cache for current/all visible column(s)
136
137      : regex         add new columns from regex split; number of columns
138                      determined by example row at cursor
139      ; regex         add new columns from capture groups of regex (also
140                      requires example row)
141     z; expr          create new column from bash expr, with $columnNames as
142                      variables
143      * regex/subst   add column derived from current column, replacing regex
144                      with subst (may include \1 backrefs)
145     g*  gz* regex/subst
146                      modify selected rows in current/all visible column(s),
147                      replacing regex with subst (may include \1 backrefs)
148
149      (   g(          expand current/all visible column(s) of lists (e.g. [3])
150                      or dicts (e.g. {3}) one level
151     z(  gz( depth    expand current/all visible column(s) of lists (e.g. [3])
152                      or dicts (e.g. {3}) to given depth (0= fully)
153      )               unexpand current column; restore original column and re‐
154                      move other columns at this level
155     zM               row-wise expand current column of lists (e.g. [3]) or
156                      dicts (e.g. {3}) within that column
157
158   Row Selection
159       s   t   u      select/toggle/unselect current row
160      gs  gt  gu      select/toggle/unselect all rows
161      zs  zt  zu      select/toggle/unselect all rows from top to cursor
162     gzs gzt gzu      select/toggle/unselect all rows from cursor to bottom
163      |   \ regex     select/unselect rows matching regex in current column
164     g|  g\ regex     select/unselect rows matching regex in any visible
165                      column
166     z|  z\ expr      select/unselect rows matching Python expr in any visible
167                      column
168      , (comma)       select rows matching display value of current cell in
169                      current column
170     g,               select rows matching display value of current row in all
171                      visible columns
172     z, gz,           select rows matching typed value of current cell/row in
173                      current column/all visible columns
174
175   Row Sorting/Filtering
176       [    ]         sort ascending/descending by current column; replace any
177                      existing sort criteria
178      g[   g]         sort ascending/descending by all key columns; replace
179                      any existing sort criteria
180      z[   z]         sort ascending/descending by current column; add to ex‐
181                      isting sort criteria
182     gz[  gz]         sort ascending/descending by all key columns; add to ex‐
183                      isting sort criteria
184      "               open duplicate sheet with only selected rows
185     g"               open duplicate sheet with all rows
186     gz"              open duplicate sheet with deepcopy of selected rows
187
188     The rows in these duplicated sheets (except deepcopy) are references to
189     rows on the original source sheets, and so edits to the filtered rows
190     will naturally be reflected in the original rows.  Use g' to freeze sheet
191     contents in a deliberate copy.
192
193   Editing Rows and Cells
194       a   za         append blank row/column; appended columns cannot be
195                      copied to clipboard
196      ga  gza number  append number blank rows/columns
197       d   gd         delete current/selected row(s)
198       y   gy         yank (copy) current/all selected row(s) to clipboard in
199                      Memory Sheet
200       x   gx         cut (copy and delete) current/all selected row(s) to
201                      clipboard in Memory Sheet
202      zy  gzy         yank (copy) contents of current column for
203                      current/selected row(s) to clipboard in Memory Sheet
204      zd  gzd         set contents of current column for current/selected
205                      row(s) to options.null_value
206      zx  gzx         cut (copy and delete) contents of current column for
207                      current/selected row(s) to clipboard in Memory Sheet
208       p    P         paste clipboard rows after/before current row
209      zp  gzp         set cells of current column for current/selected row(s)
210                      to last clipboard value
211      zP  gzP         paste to cells of current column for current/selected
212                      row(s) using the system clipboard
213       Y   gY         yank (copy) current/all selected row(s) to system
214                      clipboard (using options.clipboard_copy_cmd)
215      zY  gzY         yank (copy) contents of current column for
216                      current/selected row(s) to system clipboard (using
217                      options.clipboard_copy_cmd)
218       f              fill null cells in current column with contents of non-
219                      null cells up the current column
220       e text         edit contents of current cell
221      ge text         set contents of current column for selected rows to text
222
223     Commands While Editing Input
224        Enter  ^C        accept/abort input
225        ^O               open external $EDITOR to edit contents
226        ^R               reload initial value
227        ^A  ^E           go to beginning/end of line
228        ^B  ^F           go back/forward one character
229        ^←  ^→ (arrow)   go back/forward one word
230        ^H  ^D           delete previous/current character
231        ^T               transpose previous and current characters
232        ^U  ^K           clear from cursor to beginning/end of line
233        ^Y               paste from cell clipboard
234        Backspace  Del   delete previous/current character
235        Insert           toggle insert mode
236        Up  Down         set contents to previous/next in history
237        Tab  Shift+Tab   autocomplete input (when available)
238        Shift+Arrow      move cursor in direction of Arrow and re-enter edit
239                         mode
240
241   Data Toolkit
242      o input         open input in VisiData
243     zo               open file or url from path in current cell
244     ^S g^S filename  save current/all sheet(s) to filename in format
245                      determined by extension (default .tsv)
246                      Note: if the format does not support multisave, or the
247                      filename ends in a /, a directory will be created.
248     z^S filename     save current column only to filename in format
249                      determined by extension (default .tsv)
250     ^D filename.vdj  save CommandLog to filename.vdj file
251     A                open new blank sheet with one column
252     T                open new sheet that has rows and columns of current
253                      sheet transposed
254
255      + aggregator    add aggregator to current column (see Frequency Table)
256     z+ aggregator    display result of aggregator over values in selected
257                      rows for current column; store result in Memory Sheet
258      &               concatenate top two sheets in Sheets Stack
259     g&               concatenate all sheets in Sheets Stack
260
261      w nBefore nAfter
262                      add column where each row contains a list of that row,
263                      nBefore rows, and nAfter rows
264
265   Data Visualization
266      . (dot)       plot current numeric column vs key columns. The numeric
267                    key column is used for the x-axis; categorical key column
268                    values determine color.
269     g.             plot a graph of all visible numeric columns vs key
270                    columns.
271
272     If rows on the current sheet represent plottable coordinates (as in .shp
273     or vector .mbtiles sources),  . plots the current row, and g. plots all
274     selected rows (or all rows if none selected).
275
276     Canvas-specific Commands
277         +   -              increase/decrease zoom level, centered on cursor
278         _ (underbar)       zoom to fit full extent
279        z_ (underbar)       set aspect ratio
280         x xmin xmax        set xmin/xmax on graph
281         y ymin ymax        set ymin/ymax on graph
282         s   t   u          select/toggle/unselect rows on source sheet con‐
283                            tained within canvas cursor
284        gs  gt  gu          select/toggle/unselect rows on source sheet visi‐
285                            ble on screen
286         d                  delete rows on source sheet contained within can‐
287                            vas cursor
288        gd                  delete rows on source sheet visible on screen
289         Enter              open sheet of source rows contained within canvas
290                            cursor
291        gEnter              open sheet of source rows visible on screen
292         1 - 9              toggle display of layers
293        ^L                  redraw all pixels on canvas
294         v                  toggle show_graph_labels option
295        mouse scrollwheel   zoom in/out of canvas
296        left click-drag     set canvas cursor
297        right click-drag    scroll canvas
298
299   Split Screen
300      Z             split screen in half, so that second sheet on the stack is
301                    visible in a second pane
302     zZ             split screen, and queries for height of second pane
303
304     Split Window specific Commands
305        gZ                  close an already split screen, current pane full
306                            screens
307         Z                  push second sheet on current pane's stack to the
308                            top of the other pane's stack
309         Tab                jump to other pane
310        gTab                swap panes
311        g Ctrl+^            cycle through sheets
312
313   Other Commands
314     Q                quit current sheet and remove it from the CommandLog
315     v                toggle sheet-specific visibility (multi-line rows on
316                      Sheet, legends/axes on Graph)
317
318      ^E  g^E         view traceback for most recent error(s)
319     z^E              view traceback for error in current cell
320
321      ^L              refresh screen
322      ^R              reload current sheet
323      ^Z              suspend VisiData process
324      ^G              show cursor position and bounds of current sheet on sta‐
325                      tus line
326      ^V              show version and copyright information on status line
327      ^P              open Status History
328     m keystroke      first, begin recording macro; second, prompt for
329                      keystroke , and complete recording. Macro can then be
330                      executed everytime provided keystroke is used. Will
331                      override existing keybinding. Macros will run on current
332                      row, column, sheet.
333     gm               open an index of all existing macros. Can be directly
334                      viewed with Enter, and then modified with ^S.
335
336      ^Y  z^Y  g^Y    open current row/cell/sheet as Python object
337      ^X expr         evaluate Python expr and opens result as Python object
338     z^X expr         evaluate Python expr, in context of current row, and
339                      open result as Python object
340     g^X module       import Python module in the global scope
341
342   Internal Sheets List
343      .  Directory Sheet             browse properties of files in a directory
344      .  Plugins Sheet               browse, install, and (de)activate plugins
345      .  Memory Sheet (Alt+Shift+M)        browse saved values, including
346         clipboard
347
348     Metasheets
349      .  Columns Sheet (Shift+C)     edit column properties
350      .  Sheets Sheet (Shift+S)      jump between sheets or join them together
351      .  Options Sheet (Shift+O)     edit configuration options
352      .  Commandlog (Shift+D)        modify and save commands for replay
353      .  Error Sheet (Ctrl+E)            view last error
354      .  Status History (Ctrl+P)         view history of status messages
355      .  Threads Sheet (Ctrl+T)          view, cancel, and profile
356         asynchronous threads
357
358     Derived Sheets
359      .  Frequency Table (Shift+F)   group rows by column value, with
360         aggregations of other columns
361      .  Describe Sheet (Shift+I)    view summary statistics for each column
362      .  Pivot Table (Shift+W)       group rows by key and summarize current
363         column
364      .  Melted Sheet (Shift+M)      unpivot non-key columns into
365         variable/value columns
366      .  Transposed Sheet (Shift+T)   open new sheet with rows and columns
367         transposed
368
369   INTERNAL SHEETS
370   Directory Sheet
371     (global commands)
372        Space open-dir-current
373                         open the Directory Sheet for the current directory
374     (sheet-specific commands)
375        Enter  gEnter    open current/selected file(s) as new sheet(s)
376         ^O  g^O         open current/selected file(s) in external $EDITOR
377         ^R  z^R  gz^R   reload information for all/current/selected file(s)
378          d   gd         delete current/selected file(s) from filesystem, upon
379                         commit
380          y   gy directory
381                         copy current/selected file(s) to given directory,
382                         upon commit
383          e   ge name    rename current/selected file(s) to name
384        z^S              commit changes to file system
385
386   Plugins Sheet
387     Browse through a list of available plugins. VisiData needs to be
388     restarted before plugin activation takes effect. Installation may require
389     internet access.
390     (global commands)
391        Space open-plugins
392                         open the Plugins Sheet
393     (sheet-specific commands)
394        a                install and activate current plugin
395        d                deactivate current plugin
396
397   Memory Sheet
398     Browse through a list of stored values, referanceable in expressions
399     through their name.
400     (global commands)
401        Alt+Shift+M      open the Memory Sheet
402        Alt+M name       store value in current cell in Memory Sheet under
403                         name
404     (sheet-specific commands)
405        e                edit either value or name, to edit reference
406
407   METASHEETS
408   Columns Sheet (Shift+C)
409     Properties of columns on the source sheet can be changed with standard
410     editing commands (e ge g= Del) on the Columns Sheet. Multiple aggregators
411     can be set by listing them (separated by spaces) in the aggregators
412     column. The 'g' commands affect the selected rows, which are the literal
413     columns on the source sheet.
414     (global commands)
415        gC               open Columns Sheet with all visible columns from all
416                         sheets
417     (sheet-specific commands)
418         &               add column from concatenating selected source columns
419        g! gz!           toggle/unset selected columns as key columns on
420                         source sheet
421        g+ aggregator    add Ar aggregator No to selected source columns
422        g- (hyphen)      hide selected columns on source sheet
423        g~ g# g% g$ g@ gz# z%
424                         set type of selected columns on source sheet to
425                         str/int/float/currency/date/len/floatsi
426         Enter           open a Frequency Table sheet grouped by column
427                         referenced in current row
428
429   Sheets Sheet (Shift+S)
430     open Sheets Stack, which contains only the active sheets on the current
431     stack
432     (global commands)
433        gS               open Sheets Sheet, which contains all sheets from
434                         current session, active and inactive
435        Alt number       jump to sheet number
436     (sheet-specific commands)
437         Enter           jump to sheet referenced in current row
438        gEnter           push selected sheets to top of sheet stack
439         a               add row to reference a new blank sheet
440        gC  gI           open Columns Sheet/Describe Sheet with all visible
441                         columns from selected sheets
442        g^R              reload all selected sheets
443        z^C  gz^C        abort async threads for current/selected sheets(s)
444        g^S              save selected or all sheets
445         & jointype      merge selected sheets with visible columns from all,
446                         keeping rows according to jointype:
447                         .  inner  keep only rows which match keys on all
448                            sheets
449                         .  outer  keep all rows from first selected sheet
450                         .  full   keep all rows from all sheets (union)
451                         .  diff   keep only rows NOT in all sheets
452                         .  append keep all rows from all sheets
453                            (concatenation)
454                         .  extend copy first selected sheet, keeping all rows
455                            and sheet type, and extend with columns from other
456                            sheets
457                         .  merge  mostly keep all rows from first selected
458                            sheet, except prioritise cells with non-null/non-
459                            error values
460
461   Options Sheet (Shift+O)
462     (global commands)
463        Shift+O          edit global options (apply to all sheets)
464        zO               edit sheet options (apply to current sheet only)
465        gO               open options.config as TextSheet
466     (sheet-specific commands)
467        Enter  e         edit option at current row
468        d                remove option override for this context
469        ^S               save option configuration to foo.visidatarc
470
471   CommandLog (Shift+D)
472     (global commands)
473        D                open current sheet's CommandLog with all other loose
474                         ends removed; includes commands from parent sheets
475        gD               open global CommandLog for all commands executed in
476                         the current session
477        zD               open current sheet's CommandLog with the parent
478                         sheets commands' removed
479     (sheet-specific commands)
480          x              replay command in current row
481         gx              replay contents of entire CommandLog
482         ^C              abort replay
483
484   Threads Sheet (Ctrl+T)
485     (global commands)
486        ^T               open global Threads Sheet for all asynchronous
487                         threads running
488        z^T              open current sheet's Threads Sheet
489     (sheet-specific commands)
490         ^C              abort thread at current row
491        g^C              abort all threads on current Threads Sheet
492
493   DERIVED SHEETS
494   Frequency Table (Shift+F)
495     A Frequency Table groups rows by one or more columns, and includes
496     summary columns for those with aggregators.
497     (global commands)
498        gF               open Frequency Table, grouped by all key columns on
499                         source sheet
500        zF               open one-line summary for all rows and selected rows
501     (sheet-specific commands)
502         s   t   u       select/toggle/unselect these entries in source sheet
503         Enter  gEnter   open copy of source sheet with rows that are grouped
504                         in current cell / selected rows
505
506   Describe Sheet (Shift+I)
507     A Describe Sheet contains descriptive statistics for all visible columns.
508     (global commands)
509        gI               open Describe Sheet for all visible columns on all
510                         sheets
511     (sheet-specific commands)
512        zs  zu           select/unselect rows on source sheet that are being
513                         described in current cell
514         !               toggle/unset current column as a key column on source
515                         sheet
516         Enter           open a Frequency Table sheet grouped on column
517                         referenced in current row
518        zEnter           open copy of source sheet with rows described in cur‐
519                         rent cell
520
521   Pivot Table (Shift+W)
522     Set key column(s) and aggregators on column(s) before pressing Shift+W on
523     the column to pivot.
524     (sheet-specific commands)
525         Enter           open sheet of source rows aggregated in current pivot
526                         row
527        zEnter           open sheet of source rows aggregated in current pivot
528                         cell
529
530   Melted Sheet (Shift+M)
531     Open Melted Sheet (unpivot), with key columns retained and all non-key
532     columns reduced to Variable-Value rows.
533     (global commands)
534        gM regex         open Melted Sheet (unpivot), with key columns
535                         retained and regex capture groups determining how the
536                         non-key columns will be reduced to Variable-Value
537                         rows.
538
539   Python Object Sheet (^X ^Y g^Y z^Y)
540     (sheet-specific commands)
541         Enter           dive further into Python object
542         v               toggle show/hide for methods and hidden properties
543        gv  zv           show/hide methods and hidden properties
544

COMMANDLINE OPTIONS

546     Add -n/--nonglobal to make subsequent CLI options sheet-specific
547     (applying only to paths specified directly on the CLI). By default, CLI
548     options apply to all sheets.
549
550     Options can also be set via the Options Sheet or a .visidatarc (see
551     FILES).
552
553     -P=longname                  preplay longname before replay or regular
554                                  launch; limited to Base Sheet bound commands
555     +toplevel:subsheet:col:row   launch vd with subsheet of toplevel at
556                                  top-of-stack, and cursor at col and row; all
557                                  arguments are optional
558
559     -f, --filetype=filetype      tsv                set loader to use for
560                                  filetype instead of file extension
561     -d, --delimiter=delimiter    \t                 field delimiter to use
562                                  for tsv/usv filetype
563     -y, --confirm-overwrite=F    True               overwrite existing files
564                                  without confirmation
565     -N, --nothing=T              False               disable loading
566                                  .visidatarc and plugin addons
567     --visidata-dir=str           ~/.visidata/       directory to load and
568                                                     store additional files
569     --mouse-interval=int         1                  max time between
570                                                     press/release for click
571                                                     (ms)
572     --null-value=NoneType        None               a value to be counted as
573                                                     null
574     --undo=bool                  True               enable undo/redo
575     --col-cache-size=int         0                  max number of cache en‐
576                                                     tries in each cached col‐
577                                                     umn
578     --clean-names                False              clean column/sheet names
579                                                     to be valid Python iden‐
580                                                     tifiers
581     --default-width=int          20                 default column width
582     --default-height=int         4                  default column height
583     --textwrap-cells=bool        True               wordwrap text for multi‐
584                                                     line rows
585     --quitguard                  False              confirm before quitting
586                                                     modified sheet
587     --debug                      False              exit on error and display
588                                                     stacktrace
589     --skip=int                   0                  skip N rows before header
590     --header=int                 1                  parse first N rows as
591                                                     column names
592     --load-lazy                  False              load subsheets always
593                                                     (False) or lazily (True)
594     --force-256-colors           False              use 256 colors even if
595                                                     curses reports fewer
596     --note-pending=str           ⌛                 note to display for pend‐
597                                                     ing cells
598     --note-format-exc=str        ?                  cell note for an excep‐
599                                                     tion during formatting
600     --note-getter-exc=str        !                  cell note for an excep‐
601                                                     tion during computation
602     --note-type-exc=str          !                  cell note for an excep‐
603                                                     tion during type conver‐
604                                                     sion
605     --scroll-incr=int            -3                 amount to scroll with
606                                                     scrollwheel
607     --name-joiner=str            _                  string to join sheet or
608                                                     column names
609     --value-joiner=str                              string to join display
610                                                     values
611     --wrap                       False              wrap text to fit window
612                                                     width on TextSheet
613     --save-filetype=str          tsv                specify default file type
614                                                     to save as
615     --profile                    False              enable profiling on
616                                                     threads
617     --min-memory-mb=int          0                  minimum memory to con‐
618                                                     tinue loading and async
619                                                     processing
620     --encoding=str               utf-8              encoding passed to
621                                                     codecs.open
622     --encoding-errors=str        surrogateescape    encoding_errors passed to
623                                                     codecs.open
624     --input-history=str                             basename of file to store
625                                                     persistent input history
626     --bulk-select-clear          False              clear selected rows be‐
627                                                     fore new bulk selections
628     --some-selected-rows         False              if no rows selected, if
629                                                     True, someSelectedRows
630                                                     returns all rows; if
631                                                     False, fails
632     --delimiter=str                                 field delimiter to use
633                                                     for tsv/usv filetype
634     --row-delimiter=str                             " row delimiter to use
635                                                     for tsv/usv filetype
636     --tsv-safe-newline=str                          replacement for newline
637                                                     character when saving to
638                                                     tsv
639     --tsv-safe-tab=str                              replacement for tab char‐
640                                                     acter when saving to tsv
641     --visibility=int             0                  visibility level (0=low,
642                                                     1=high)
643     --default-sample-size=int    100                number of rows to sample
644                                                     for regex.split (0=all)
645     --fmt-expand-dict=str        %s.%s              format str to use for
646                                                     names of columns expanded
647                                                     from dict (colname, key)
648     --fmt-expand-list=str        %s[%s]             format str to use for
649                                                     names of columns expanded
650                                                     from list (colname, in‐
651                                                     dex)
652     --json-indent=NoneType       None               indent to use when saving
653                                                     json
654     --json-sort-keys             False              sort object keys when
655                                                     saving to json
656     --default-colname=str                           column name to use for
657                                                     non-dict rows
658     --filetype=str                                  specify file type
659     --replay-wait=float          0.0                time to wait between re‐
660                                                     played commands, in sec‐
661                                                     onds
662     --replay-movement            False              insert movements during
663                                                     replay
664     --rowkey-prefix=str          キ                 string prefix for rowkey
665                                                     in the cmdlog
666     --cmdlog-histfile=str                           file to autorecord each
667                                                     cmdlog action to
668     --confirm-overwrite=bool     True               whether to prompt for
669                                                     overwrite confirmation on
670                                                     save
671     --safe-error=str             #ERR               error string to use while
672                                                     saving
673     --clipboard-copy-cmd=str     xclip -selection clipboard -filter
674                                                     command to copy stdin to
675                                                     system clipboard
676     --clipboard-paste-cmd=str    xclip -selection clipboard -o
677                                                     command to send contents
678                                                     of system clipboard to
679                                                     stdout
680     --fancy-chooser              False              a nicer selection inter‐
681                                                     face for aggregators and
682                                                     jointype
683     --describe-aggrs=str         mean stdev         numeric aggregators to
684                                                     calculate on Describe
685                                                     sheet
686     --histogram-bins=int         0                  number of bins for his‐
687                                                     togram of numeric columns
688     --numeric-binning            False              bin numeric columns into
689                                                     ranges
690     --regex-flags=str            I                  flags to pass to re.com‐
691                                                     pile() [AILMSUX]
692     --regex-maxsplit=int         0                  maxsplit to pass to
693                                                     regex.split
694     --show-graph-labels=bool     True               show axes and legend on
695                                                     graph
696     --plot-colors=str                               list of distinct colors
697                                                     to use for plotting dis‐
698                                                     tinct objects
699     --zoom-incr=float            2.0                amount to multiply cur‐
700                                                     rent zoomlevel when zoom‐
701                                                     ing
702     --motd-url=str                                  source of randomized
703                                                     startup messages
704     --dir-recurse                False              walk source path recur‐
705                                                     sively on DirSheet
706     --dir-hidden                 False              load hidden files on
707                                                     DirSheet
708     --config=Path                /home/<user>/.visidatarc
709                                                     config file to exec in
710                                                     Python
711     --play=str                                      file.vd to replay
712     --batch                      False              replay in batch mode
713                                                     (with no interface and
714                                                     all status sent to std‐
715                                                     out)
716     --output=NoneType            None               save the final visible
717                                                     sheet to output at the
718                                                     end of replay
719     --preplay=str                                   longnames to preplay be‐
720                                                     fore replay
721     --imports=str                plugins            imports to preload before
722                                                     .visidatarc (command-line
723                                                     only)
724     --nothing                    False              no config, no plugins,
725                                                     nothing extra
726     --unfurl-empty               False              if unfurl includes rows
727                                                     for empty containers
728     --incr-base=float            1.0                start value for column
729                                                     increments
730     --csv-dialect=str            excel              dialect passed to
731                                                     csv.reader
732     --csv-delimiter=str          ,                  delimiter passed to
733                                                     csv.reader
734     --csv-quotechar=str          "                  quotechar passed to
735                                                     csv.reader
736     --csv-skipinitialspace=bool  True               skipinitialspace passed
737                                                     to csv.reader
738     --csv-escapechar=NoneType    None               escapechar passed to
739                                                     csv.reader
740     --csv-lineterminator=str                        " lineterminator passed
741                                                     to csv.writer
742     --safety-first               False              sanitize input/output to
743                                                     handle edge cases, with a
744                                                     performance cost
745     --xlsx-meta-columns          False              include columns for cell
746                                                     objects, font colors, and
747                                                     fill colors
748     --fixed-rows=int             1000               number of rows to check
749                                                     for fixed width columns
750     --fixed-maxcols=int          0                  max number of fixed-width
751                                                     columns to create (0 is
752                                                     no max)
753     --postgres-schema=str        public             The desired schema for
754                                                     the Postgres database
755     --http-max-next=int          0                  max next.url pages to
756                                                     follow in http response
757     --http-req-headers=dict      {}                 http headers to send to
758                                                     requests
759     --html-title=str             <h2>{sheet.name}</h2>
760                                                     table header when saving
761                                                     to html
762     --pcap-internet=str          n                  (y/s/n) if save_dot in‐
763                                                     cludes all internet hosts
764                                                     separately (y), combined
765                                                     (s), or does not include
766                                                     the internet (n)
767     --graphviz-edge-labels=bool  True               whether to include edge
768                                                     labels on graphviz dia‐
769                                                     grams
770     --npy-allow-pickle           False              numpy allow unpickling
771                                                     objects (unsafe)
772     --pdf-tables                 False              parse PDF for tables in‐
773                                                     stead of pages of text
774     --plugins-url=str            https://visidata.org/plugins/plugins.jsonl
775                                                     source of plugins sheet
776     --plugins-autoload=bool      True               do not autoload plugins
777                                                     if False
778
779   DISPLAY OPTIONS
780     Display options can only be set via the Options Sheet or a .visidatarc
781     (see FILES).
782
783     disp_splitwin_pct   0                   height of second sheet on screen
784     color_sidebar       black on 114 blue   color of sidebar
785     disp_currency_fmt   %.02f               default fmtstr to format for cur‐
786                                             rency values
787     disp_float_fmt      {:.02f}             default fmtstr to format for
788                                             float values
789     disp_int_fmt        {:.0f}              default fmtstr to format for int
790                                             values
791     disp_date_fmt       %Y-%m-%d            default fmtstr to strftime for
792                                             date values
793     disp_note_none      ⌀                   visible contents of a cell whose
794                                             value is None
795     disp_truncator      …                   indicator that the contents are
796                                             only partially visible
797     disp_oddspace       ·                   displayable character for odd
798                                             whitespace
799     disp_more_left      <                   header note indicating more col‐
800                                             umns to the left
801     disp_more_right     >                   header note indicating more col‐
802                                             umns to the right
803     disp_error_val                          displayed contents for computa‐
804                                             tion exception
805     disp_ambig_width    1                   width to use for unicode chars
806                                             marked ambiguous
807     disp_pending                            string to display in pending
808                                             cells
809     color_note_pending  bold magenta        color of note in pending cells
810     color_note_type     226 yellow          color of cell note for non-str
811                                             types in anytype columns
812     color_note_row      220 yellow          color of row note on left edge
813     disp_column_sep     │                   separator between columns
814     disp_keycol_sep     ║                   separator between key columns and
815                                             rest of columns
816     disp_rowtop_sep     
817     disp_rowmid_sep     
818     disp_rowbot_sep     
819     disp_rowend_sep     
820     disp_keytop_sep     
821     disp_keymid_sep     
822     disp_keybot_sep     
823     disp_endtop_sep     
824     disp_endmid_sep     
825     disp_endbot_sep     
826     disp_selected_note  
827     disp_sort_asc       ↑↟⇞⇡⇧⇑              characters for ascending sort
828     disp_sort_desc      ↓↡⇟⇣⇩⇓              characters for descending sort
829     color_default       white on black      the default fg and bg colors
830     color_default_hdr   bold                color of the column headers
831     color_bottom_hdr    underline           color of the bottom header row
832     color_current_row   reverse             color of the cursor row
833     color_current_col   bold                color of the cursor column
834     color_current_hdr   bold reverse        color of the header for the cur‐
835                                             sor column
836     color_column_sep    246 blue            color of column separators
837     color_key_col       81 cyan             color of key columns
838     color_hidden_col    8                   color of hidden columns on
839                                             metasheets
840     color_selected_row  215 yellow          color of selected rows
841     disp_rstatus_fmt     {sheet.longname} {sheet.nRows:9d} {sheet.rowtype}
842                                             {sheet.modifiedStatus}
843                                             {sheet.options.disp_selected_note}{sheet.nSelectedRows}
844                                             right-side status format string
845     disp_status_fmt     {sheet.shortcut}› {sheet.name}|
846                                             status line prefix
847     disp_lstatus_max    0                   maximum length of left status
848                                             line
849     disp_status_sep      │                  separator between statuses
850     color_keystrokes    bold 233 black on 110 cyan
851                                             color of input keystrokes on sta‐
852                                             tus line
853     color_status        bold black on 110 cyan
854                                             status line color
855     color_error         red                 error message color
856     color_warning       yellow              warning message color
857     color_top_status    underline           top window status bar color
858     color_active_status black on 110 cyan    active window status bar color
859     color_inactive_status 8 on black        inactive window status bar color
860     color_working       green               color of system running smoothly
861     color_edit_cell     white               cell color to use when editing
862                                             cell
863     disp_edit_fill      _                   edit field fill character
864     disp_unprintable    ·                   substitute character for unprint‐
865                                             ables
866     disp_replay_play    ▶                   status indicator for active re‐
867                                             play
868     disp_replay_pause   ‖                   status indicator for paused re‐
869                                             play
870     color_status_replay green               color of replay status indicator
871     disp_formatter      generic             formatter to use for display and
872                                             saving
873     disp_menu           True                show menu on top line when not
874                                             active
875     disp_menu_keys      True                show keystrokes inline in sub‐
876                                             menus
877     color_menu          black on 110 cyan   color of menu items in general
878     color_menu_active   223 yellow on black
879                                             color of active menu items
880     color_menu_spec     black on 34 green   color of sheet-specific menu
881                                             items
882     color_menu_help     black italic on 110 cyan
883                                             color of helpbox
884     disp_menu_boxchars  ││──┌┐└┘├┤          box characters to use for menus
885     disp_menu_more      »                   command submenu indicator
886     disp_menu_push      ⎘                   indicator if command pushes sheet
887                                             onto sheet stack
888     disp_menu_input     …                   indicator if input required for
889                                             command
890     disp_menu_fmt       Ctrl+H for help menu
891                                             right-side menu format string
892     disp_histogram      *                   histogram element character
893     disp_histolen       50                  width of histogram column
894     disp_canvas_charset
895                                             ⠀⠁⠂⠃⠄⠅⠆⠇⠈⠉⠊⠋⠌⠍⠎⠏⠐⠑⠒⠓⠔⠕⠖⠗⠘⠙⠚⠛⠜⠝⠞⠟⠠⠡⠢⠣⠤⠥⠦⠧⠨⠩⠪⠫⠬⠭⠮⠯⠰⠱⠲⠳⠴⠵⠶⠷⠸⠹⠺⠻⠼⠽⠾⠿⡀⡁⡂⡃⡄⡅⡆⡇⡈⡉⡊⡋⡌⡍⡎⡏⡐⡑⡒⡓⡔⡕⡖⡗⡘⡙⡚⡛⡜⡝⡞⡟⡠⡡⡢⡣⡤⡥⡦⡧⡨⡩⡪⡫⡬⡭⡮⡯⡰⡱⡲⡳⡴⡵⡶⡷⡸⡹⡺⡻⡼⡽⡾⡿⢀⢁⢂⢃⢄⢅⢆⢇⢈⢉⢊⢋⢌⢍⢎⢏⢐⢑⢒⢓⢔⢕⢖⢗⢘⢙⢚⢛⢜⢝⢞⢟⢠⢡⢢⢣⢤⢥⢦⢧⢨⢩⢪⢫⢬⢭⢮⢯⢰⢱⢲⢳⢴⢵⢶⢷⢸⢹⢺⢻⢼⢽⢾⢿⣀⣁⣂⣃⣄⣅⣆⣇⣈⣉⣊⣋⣌⣍⣎⣏⣐⣑⣒⣓⣔⣕⣖⣗⣘⣙⣚⣛⣜⣝⣞⣟⣠⣡⣢⣣⣤⣥⣦⣧⣨⣩⣪⣫⣬⣭⣮⣯⣰⣱⣲⣳⣴⣵⣶⣷⣸⣹⣺⣻⣼⣽⣾⣿
896                                             charset to render 2x4 blocks on
897                                             canvas
898     disp_pixel_random   False               randomly choose attr from set of
899                                             pixels instead of most common
900     color_graph_hidden  238 blue            color of legend for hidden attri‐
901                                             bute
902     color_graph_selected bold               color of selected graph points
903     color_graph_axis    bold                color for graph axis labels
904     color_add_pending   green               color for rows pending add
905     color_change_pending reverse yellow     color for cells pending modifica‐
906                                             tion
907     color_delete_pending red                color for rows pending delete
908     color_xword_active  green               color of active clue
909

EXAMPLES

911           vd
912     launch DirSheet for current directory
913
914           vd foo.tsv
915     open the file foo.tsv in the current directory
916
917           vd -f ddw
918     open blank sheet of type ddw
919
920           vd new.tsv
921     open new blank tsv sheet named new
922
923           vd -f sqlite bar.db
924     open the file bar.db as a sqlite database
925
926           vd foo.tsv -n -f sqlite bar.db
927     open foo.tsv as tsv and bar.db as a sqlite database
928
929           vd -f sqlite foo.tsv bar.db
930     open both foo.tsv and bar.db as a sqlite database
931
932           vd -b countries.fixed -o countries.tsv
933     convert countries.fixed (in fixed width format) to countries.tsv (in tsv
934     format)
935
936           vd postgres://username:password@hostname:port/database
937     open a connection to the given postgres database
938
939           vd --play tests/pivot.vd --replay-wait 1 --output tests/pivot.tsv
940     replay tests/pivot.vd, waiting 1 second between commands, and output the
941     final sheet to test/pivot.tsv
942
943           ls -l | vd -f fixed --skip 1 --header 0
944     parse the output of ls -l into usable data
945
946           ls | vd | lpr
947     interactively select a list of filenames to send to the printer
948
949           vd newfile.tsv
950     open a blank sheet named newfile if file does not exist
951
952           vd sample.xlsx +:sheet1:2:3
953     launch with sheet1 at top-of-stack, and cursor at column 2 and row 3
954
955           vd -P open-plugins
956     preplay longname open-plugins before starting the session
957

FILES

959     At the start of every session, VisiData looks for $HOME/.visidatarc, and
960     calls Python exec() on its contents if it exists. For example:
961
962        options.min_memory_mb=100  # stop processing without 100MB free
963
964        bindkey('0', 'go-leftmost')   # alias '0' to go to first column, like vim
965
966        def median(values):
967            L = sorted(values)
968            return L[len(L)//2]
969
970        vd.aggregator('median', median)
971
972     Functions defined in .visidatarc are available in python expressions
973     (e.g. in derived columns).
974

SUPPORTED SOURCES

976     Core VisiData includes these sources:
977
978        tsv (tab-separated value)
979           Plain and simple. VisiData writes tsv format by default. See the
980           --tsv-delimiter option.
981
982        csv (comma-separated value)
983           .csv files are a scourge upon the earth, and still regrettably
984           common.
985           See the --csv-dialect, --csv-delimiter, --csv-quotechar, and
986           --csv-skipinitialspace options.
987           Accepted dialects are excel-tab, unix, and excel.
988
989        fixed (fixed width text)
990           Columns are autodetected from the first 1000 rows (adjustable with
991           --fixed-rows).
992
993        json (single object) and jsonl/ndjson/ldjson (one object per line).
994           Cells containing lists (e.g. [3]) or dicts ({3}) can be expanded
995           into new columns with ( and unexpanded with ).
996
997        sqlite
998           May include multiple tables. The initial sheet is the table
999           directory; Enter loads the entire table into memory. z^S saves
1000           modifications to source.
1001
1002     URL schemes are also supported:
1003        http (requires requests); can be used as transport for with another
1004        filetype
1005
1006     For a list of all remaining formats supported by VisiData, see
1007     https://visidata.org/formats.
1008
1009     In addition, .zip, .gz, .bz2, .xz, ,zstd, and .zst files are decompressed
1010     on the fly.
1011

AUTHOR

1013     VisiData was made by Saul Pwanson <vd@saul.pw>.
1014
1015Linux/MacOS                    October 06, 2022                    Linux/MacOS
Impressum