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

COMMANDLINE OPTIONS

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

EXAMPLES

878           vd
879     launch DirSheet for current directory
880
881           vd foo.tsv
882     open the file foo.tsv in the current directory
883
884           vd -f ddw
885     open blank sheet of type ddw
886
887           vd new.tsv
888     open new blank tsv sheet named new
889
890           vd -f sqlite bar.db
891     open the file bar.db as a sqlite database
892
893           vd foo.tsv -n -f sqlite bar.db
894     open foo.tsv as tsv and bar.db as a sqlite database
895
896           vd -f sqlite foo.tsv bar.db
897     open both foo.tsv and bar.db as a sqlite database
898
899           vd -b countries.fixed -o countries.tsv
900     convert countries.fixed (in fixed width format) to countries.tsv (in tsv
901     format)
902
903           vd postgres://username:password@hostname:port/database
904     open a connection to the given postgres database
905
906           vd --play tests/pivot.vd --replay-wait 1 --output tests/pivot.tsv
907     replay tests/pivot.vd, waiting 1 second between commands, and output the
908     final sheet to test/pivot.tsv
909
910           ls -l | vd -f fixed --skip 1 --header 0
911     parse the output of ls -l into usable data
912
913           ls | vd | lpr
914     interactively select a list of filenames to send to the printer
915
916           vd newfile.tsv
917     open a blank sheet named newfile if file does not exist
918
919           vd sample.xlsx +:sheet1:2:3
920     launch with sheet1 at top-of-stack, and cursor at column 2 and row 3
921
922           vd -P open-plugins
923     preplay longname open-plugins before starting the session
924

FILES

926     At the start of every session, VisiData looks for $HOME/.visidatarc, and
927     calls Python exec() on its contents if it exists. For example:
928
929        options.min_memory_mb=100  # stop processing without 100MB free
930
931        bindkey('0', 'go-leftmost')   # alias '0' to go to first column, like vim
932
933        def median(values):
934            L = sorted(values)
935            return L[len(L)//2]
936
937        vd.aggregator('median', median)
938
939     Functions defined in .visidatarc are available in python expressions
940     (e.g. in derived columns).
941

SUPPORTED SOURCES

943     Core VisiData includes these sources:
944
945        tsv (tab-separated value)
946           Plain and simple. VisiData writes tsv format by default. See the
947           --tsv-delimiter option.
948
949        csv (comma-separated value)
950           .csv files are a scourge upon the earth, and still regrettably
951           common.
952           See the --csv-dialect, --csv-delimiter, --csv-quotechar, and
953           --csv-skipinitialspace options.
954           Accepted dialects are excel-tab, unix, and excel.
955
956        fixed (fixed width text)
957           Columns are autodetected from the first 1000 rows (adjustable with
958           --fixed-rows).
959
960        json (single object) and jsonl/ndjson/ldjson (one object per line).
961           Cells containing lists (e.g. [3]) or dicts ({3}) can be expanded
962           into new columns with ( and unexpanded with ).
963
964        sqlite
965           May include multiple tables. The initial sheet is the table
966           directory; Enter loads the entire table into memory. z^S saves
967           modifications to source.
968
969     URL schemes are also supported:
970        http (requires requests); can be used as transport for with another
971        filetype
972
973     For a list of all remaining formats supported by VisiData, see
974     https://visidata.org/formats.
975
976     In addition, .zip, .gz, .bz2, .xz, ,zstd, and .zst files are decompressed
977     on the fly.
978

AUTHOR

980     VisiData was made by Saul Pwanson <vd@saul.pw>.
981
982Linux/MacOS                    December 12, 2021                   Linux/MacOS
Impressum