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

COMMANDLINE OPTIONS

514     Add -n/--nonglobal to make subsequent CLI options sheet-specific
515     (applying only to paths specified directly on the CLI). By default, CLI
516     options apply to all sheets.
517
518     Options can also be set via the Options Sheet or a .visidatarc (see
519     FILES).
520
521     -P=longname                  preplay longname before replay or regular
522                                  launch; limited to Base Sheet bound commands
523     +toplevel:subsheet:col:row   launch vd with subsheet of toplevel at
524                                  top-of-stack, and cursor at col and row; all
525                                  arguments are optional
526
527     -f, --filetype=filetype      tsv                set loader to use for
528                                  filetype instead of file extension
529     -y, --confirm-overwrite=F    True               overwrite existing files
530                                  without confirmation
531     --mouse-interval=int         1                  max time between
532                                                     press/release for click
533                                                     (ms)
534     --null-value=NoneType        None               a value to be counted as
535                                                     null
536     --undo=bool                  True               enable undo/redo
537     --col-cache-size=int         0                  max number of cache en‐
538                                                     tries in each cached col‐
539                                                     umn
540     --clean-names                False              clean column/sheet names
541                                                     to be valid Python iden‐
542                                                     tifiers
543     --default-width=int          20                 default column width
544     --default-height=int         10                 default column height
545     --textwrap-cells=bool        True               wordwrap text for multi‐
546                                                     line rows
547     --quitguard                  False              confirm before quitting
548                                                     last sheet
549     --debug                      False              exit on error and display
550                                                     stacktrace
551     --skip=int                   0                  skip N rows before header
552     --header=int                 1                  parse first N rows as
553                                                     column names
554     --load-lazy                  False              load subsheets always
555                                                     (False) or lazily (True)
556     --force-256-colors           False              use 256 colors even if
557                                                     curses reports fewer
558     --note-pending=str           ⌛                 note to display for pend‐
559                                                     ing cells
560     --note-format-exc=str        ?                  cell note for an excep‐
561                                                     tion during formatting
562     --note-getter-exc=str        !                  cell note for an excep‐
563                                                     tion during computation
564     --note-type-exc=str          !                  cell note for an excep‐
565                                                     tion during type conver‐
566                                                     sion
567     --scroll-incr=int            3                  amount to scroll with
568                                                     scrollwheel
569     --name-joiner=str            _                  string to join sheet or
570                                                     column names
571     --value-joiner=str                              string to join display
572                                                     values
573     --wrap                       False              wrap text to fit window
574                                                     width on TextSheet
575     --save-filetype=str          tsv                specify default file type
576                                                     to save as
577     --profile=str                                   filename to save binary
578                                                     profiling data
579     --min-memory-mb=int          0                  minimum memory to con‐
580                                                     tinue loading and async
581                                                     processing
582     --input-history=str                             basename of file to store
583                                                     persistent input history
584     --encoding=str               utf-8              encoding passed to
585                                                     codecs.open
586     --encoding-errors=str        surrogateescape    encoding_errors passed to
587                                                     codecs.open
588     --bulk-select-clear          False              clear selected rows be‐
589                                                     fore new bulk selections
590     --some-selected-rows         False              if no rows selected, if
591                                                     True, someSelectedRows
592                                                     returns all rows; if
593                                                     False, fails
594     --delimiter=str                                 field delimiter to use
595                                                     for tsv/usv filetype
596     --row-delimiter=str                             " row delimiter to use
597                                                     for tsv/usv filetype
598     --tsv-safe-newline=str                          replacement for newline
599                                                     character when saving to
600                                                     tsv
601     --tsv-safe-tab=str                              replacement for tab char‐
602                                                     acter when saving to tsv
603     --visibility=int             0                  visibility level (0=low,
604                                                     1=high)
605     --expand-col-scanrows=int    1000               number of rows to check
606                                                     when expanding columns (0
607                                                     = all)
608     --json-indent=NoneType       None               indent to use when saving
609                                                     json
610     --json-sort-keys             False              sort object keys when
611                                                     saving to json
612     --default-colname=str                           column name to use for
613                                                     non-dict rows
614     --filetype=str                                  specify file type
615     --confirm-overwrite=bool     True               whether to prompt for
616                                                     overwrite confirmation on
617                                                     save
618     --safe-error=str             #ERR               error string to use while
619                                                     saving
620     --clipboard-copy-cmd=str                        command to copy stdin to
621                                                     system clipboard
622     --clipboard-paste-cmd=str                       command to get contents
623                                                     of system clipboard
624     --fancy-chooser              False              a nicer selection inter‐
625                                                     face for aggregators and
626                                                     jointype
627     --describe-aggrs=str         mean stdev         numeric aggregators to
628                                                     calculate on Describe
629                                                     sheet
630     --histogram-bins=int         0                  number of bins for his‐
631                                                     togram of numeric columns
632     --numeric-binning            False              bin numeric columns into
633                                                     ranges
634     --replay-wait=float          0.0                time to wait between re‐
635                                                     played commands, in sec‐
636                                                     onds
637     --replay-movement            False              insert movements during
638                                                     replay
639     --visidata-dir=str           ~/.visidata/       directory to load and
640                                                     store additional files
641     --rowkey-prefix=str          キ                 string prefix for rowkey
642                                                     in the cmdlog
643     --cmdlog-histfile=str                           file to autorecord each
644                                                     cmdlog action to
645     --regex-flags=str            I                  flags to pass to re.com‐
646                                                     pile() [AILMSUX]
647     --regex-maxsplit=int         0                  maxsplit to pass to
648                                                     regex.split
649     --default-sample-size=int    100                number of rows to sample
650                                                     for regex.split
651     --show-graph-labels=bool     True               show axes and legend on
652                                                     graph
653     --plot-colors=str                               list of distinct colors
654                                                     to use for plotting dis‐
655                                                     tinct objects
656     --zoom-incr=float            2.0                amount to multiply cur‐
657                                                     rent zoomlevel when zoom‐
658                                                     ing
659     --motd-url=str                                  source of randomized
660                                                     startup messages
661     --dir-recurse                False              walk source path recur‐
662                                                     sively on DirSheet
663     --dir-hidden                 False              load hidden files on
664                                                     DirSheet
665     --config=str                 ~/.visidatarc      config file to exec in
666                                                     Python
667     --play=str                                      file.vd to replay
668     --batch                      False              replay in batch mode
669                                                     (with no interface and
670                                                     all status sent to std‐
671                                                     out)
672     --output=NoneType            None               save the final visible
673                                                     sheet to output at the
674                                                     end of replay
675     --preplay=str                                   longnames to preplay be‐
676                                                     fore replay
677     --imports=str                plugins            imports to preload before
678                                                     .visidatarc (command-line
679                                                     only)
680     --incr-base=float            1.0                start value for column
681                                                     increments
682     --csv-dialect=str            excel              dialect passed to
683                                                     csv.reader
684     --csv-delimiter=str          ,                  delimiter passed to
685                                                     csv.reader
686     --csv-quotechar=str          "                  quotechar passed to
687                                                     csv.reader
688     --csv-skipinitialspace=bool  True               skipinitialspace passed
689                                                     to csv.reader
690     --csv-escapechar=NoneType    None               escapechar passed to
691                                                     csv.reader
692     --csv-lineterminator=str                        " lineterminator passed
693                                                     to csv.writer
694     --safety-first               False              sanitize input/output to
695                                                     handle edge cases, with a
696                                                     performance cost
697     --fixed-rows=int             1000               number of rows to check
698                                                     for fixed width columns
699     --fixed-maxcols=int          0                  max number of fixed-width
700                                                     columns to create (0 is
701                                                     no max)
702     --postgres-schema=str        public             The desired schema for
703                                                     the Postgres database
704     --http-max-next=int          0                  max next.url pages to
705                                                     follow in http response
706     --html-title=str             <h2>{sheet.name}</h2>
707                                                     table header when saving
708                                                     to html
709     --pcap-internet=str          n                  (y/s/n) if save_dot in‐
710                                                     cludes all internet hosts
711                                                     separately (y), combined
712                                                     (s), or does not include
713                                                     the internet (n)
714     --graphviz-edge-labels=bool  True               whether to include edge
715                                                     labels on graphviz dia‐
716                                                     grams
717     --pdf-tables                 False              parse PDF for tables in‐
718                                                     stead of pages of text
719     --plugins-url=str            https://visidata.org/plugins/plugins.jsonl
720                                                     source of plugins sheet
721
722   DISPLAY OPTIONS
723     Display options can only be set via the Options Sheet or a .visidatarc
724     (see FILES).
725
726     disp_splitwin_pct   0                   height of second sheet on screen
727     disp_currency_fmt   %.02f               default fmtstr to format for cur‐
728                                             rency values
729     disp_float_fmt      {:.02f}             default fmtstr to format for
730                                             float values
731     disp_int_fmt        {:.0f}              default fmtstr to format for int
732                                             values
733     disp_date_fmt       %Y-%m-%d            default fmtstr to strftime for
734                                             date values
735     disp_note_none      ⌀                   visible contents of a cell whose
736                                             value is None
737     disp_truncator      …                   indicator that the contents are
738                                             only partially visible
739     disp_oddspace       ·                   displayable character for odd
740                                             whitespace
741     disp_more_left      <                   header note indicating more col‐
742                                             umns to the left
743     disp_more_right     >                   header note indicating more col‐
744                                             umns to the right
745     disp_error_val                          displayed contents for computa‐
746                                             tion exception
747     disp_ambig_width    1                   width to use for unicode chars
748                                             marked ambiguous
749     disp_pending                            string to display in pending
750                                             cells
751     color_note_pending  bold magenta        color of note in pending cells
752     color_note_type     226 yellow          color of cell note for non-str
753                                             types in anytype columns
754     color_note_row      220 yellow          color of row note on left edge
755     disp_column_sep     |                   separator between columns
756     disp_keycol_sep     ║                   separator between key columns and
757                                             rest of columns
758     disp_rowtop_sep     |
759     disp_rowmid_sep     
760     disp_rowbot_sep     
761     disp_rowend_sep     
762     disp_keytop_sep     
763     disp_keymid_sep     
764     disp_keybot_sep     
765     disp_endtop_sep     
766     disp_endmid_sep     
767     disp_endbot_sep     
768     disp_selected_note  
769     disp_sort_asc       ↑↟⇞⇡⇧⇑              characters for ascending sort
770     disp_sort_desc      ↓↡⇟⇣⇩⇓              characters for descending sort
771     color_default       white on black      the default fg and bg colors
772     color_default_hdr   bold                color of the column headers
773     color_bottom_hdr    underline           color of the bottom header row
774     color_current_row   reverse             color of the cursor row
775     color_current_col   bold                color of the cursor column
776     color_current_hdr   bold reverse        color of the header for the cur‐
777                                             sor column
778     color_column_sep    246 blue            color of column separators
779     color_key_col       81 cyan             color of key columns
780     color_hidden_col    8                   color of hidden columns on
781                                             metasheets
782     color_selected_row  215 yellow          color of selected rows
783     disp_rstatus_fmt     {sheet.longname} {sheet.nRows:9d} {sheet.rowtype}
784                                             {sheet.options.disp_selected_note}{sheet.nSelectedRows}
785                                             right-side status format string
786     disp_status_fmt     {sheet.shortcut}› {sheet.name}|
787                                             status line prefix
788     disp_lstatus_max    0                   maximum length of left status
789                                             line
790     disp_status_sep      |                  separator between statuses
791     color_keystrokes    white               color of input keystrokes on sta‐
792                                             tus line
793     color_status        bold                status line color
794     color_error         red                 error message color
795     color_warning       yellow              warning message color
796     color_top_status    underline           top window status bar color
797     color_active_status bold                 active window status bar color
798     color_inactive_status 8                 inactive window status bar color
799     color_working       green               color of system running smoothly
800     color_edit_cell     white               cell color to use when editing
801                                             cell
802     disp_edit_fill      _                   edit field fill character
803     disp_unprintable    ·                   substitute character for unprint‐
804                                             ables
805     disp_histogram      *                   histogram element character
806     disp_histolen       50                  width of histogram column
807     disp_replay_play    ▶                   status indicator for active re‐
808                                             play
809     disp_replay_pause   ‖                   status indicator for paused re‐
810                                             play
811     color_status_replay green               color of replay status indicator
812     disp_pixel_random   False               randomly choose attr from set of
813                                             pixels instead of most common
814     color_graph_hidden  238 blue            color of legend for hidden attri‐
815                                             bute
816     color_graph_selected bold               color of selected graph points
817     color_graph_axis    bold                color for graph axis labels
818     color_add_pending   green               color for rows pending add
819     color_change_pending reverse yellow     color for cells pending modifica‐
820                                             tion
821     color_delete_pending red                color for rows pending delete
822     color_xword_active  green               color of active clue
823

EXAMPLES

825           vd foo.tsv
826     open the file foo.tsv in the current directory
827
828           vd -f sqlite bar.db
829     open the file bar.db as a sqlite database
830
831           vd foo.tsv -n -f sqlite bar.db
832     open foo.tsv as tsv and bar.db as a sqlite database
833
834           vd -f sqlite foo.tsv bar.db
835     open both foo.tsv and bar.db as a sqlite database
836
837           vd -b countries.fixed -o countries.tsv
838     convert countries.fixed (in fixed width format) to countries.tsv (in tsv
839     format)
840
841           vd postgres://username:password@hostname:port/database
842     open a connection to the given postgres database
843
844           vd --play tests/pivot.vd --replay-wait 1 --output tests/pivot.tsv
845     replay tests/pivot.vd, waiting 1 second between commands, and output the
846     final sheet to test/pivot.tsv
847
848           ls -l | vd -f fixed --skip 1 --header 0
849     parse the output of ls -l into usable data
850
851           ls | vd | lpr
852     interactively select a list of filenames to send to the printer
853
854           vd newfile.tsv
855     open a blank sheet named newfile if file does not exist
856
857           vd sample.xlsx +:sheet1:2:3
858     launch with sheet1 at top-of-stack, and cursor at column 2 and row 3
859
860           vd -P open-plugins
861     preplay longname open-plugins before starting the session
862

FILES

864     At the start of every session, VisiData looks for $HOME/.visidatarc, and
865     calls Python exec() on its contents if it exists. For example:
866
867        options.min_memory_mb=100  # stop processing without 100MB free
868
869        bindkey('0', 'go-leftmost')   # alias '0' to go to first column, like vim
870
871        def median(values):
872            L = sorted(values)
873            return L[len(L)//2]
874
875        aggregator('median', median)
876
877     Functions defined in .visidatarc are available in python expressions
878     (e.g. in derived columns).
879

SUPPORTED SOURCES

881     Core VisiData includes these sources:
882
883        tsv (tab-separated value)
884           Plain and simple. VisiData writes tsv format by default. See the
885           --tsv-delimiter option.
886
887        csv (comma-separated value)
888           .csv files are a scourge upon the earth, and still regrettably
889           common.
890           See the --csv-dialect, --csv-delimiter, --csv-quotechar, and
891           --csv-skipinitialspace options.
892           Accepted dialects are excel-tab, unix, and excel.
893
894        fixed (fixed width text)
895           Columns are autodetected from the first 1000 rows (adjustable with
896           --fixed-rows).
897
898        json (single object) and jsonl/ndjson/ldjson (one object per line).
899           Cells containing lists (e.g. [3]) or dicts ({3}) can be expanded
900           into new columns with ( and unexpanded with ).
901
902        sqlite
903           May include multiple tables. The initial sheet is the table
904           directory; Enter loads the entire table into memory. z^S saves
905           modifications to source.
906
907     URL schemes are also supported:
908        http (requires requests); can be used as transport for with another
909        filetype
910
911     For a list of all remaining formats supported by VisiData, see
912     https://visidata.org/formats.
913
914     In addition, .zip, .gz, .bz2, and .xz files are decompressed on the fly.
915

SUPPORTED OUTPUT FORMATS

917     These are the supported savers:
918
919        tsv (tab-separated value)
920        csv (comma-separated value)
921        json (one object with all rows)
922        jsonl/ndjson/ldjson (one object per line/row)
923           All expanded subcolumns must be closed (with )) to retain the same
924           structure.
925        sqlite (save to source with z^S)
926        md (markdown table)
927

AUTHOR

929     VisiData was made by Saul Pwanson <vd@saul.pw>.
930
931Linux/MacOS                      Apr 11, 2021                      Linux/MacOS
Impressum