Skip to content


By Saul Pwanson

[originally sent as TinyLetter #1]

v0.97 (2017-10-06)

Important If you like VisiData, sign up for the newsletter!


  • I'm hanging out in #visidata on freenode! Come by and say hi if you use VisiData. I'd love to know how you're using it!

  • r/visidata (on reddit) is the forum for longer-form discussion.

  • See the new webpage at! We migrated away from RTD, as it was too much hassle and limited our functionality.

  • We have some example tours generated from our automated tests. See More will be coming with the next release!

v0.97 has been released

The main themes for this release are:

  1. commandlog replay fully operational (now running both automated tests and generating tours)
  2. a quick ref guide in man page format (available in visidata via F1, and also online at
  3. is now the primary home page (we've transitioned away from readthedocs)

There are also the usual suspects: new loaders, new commands, new options, and too many improvements and bugfixes to name. It is getting ever easier to write a new command or loader in a few minutes and have it just work.

With this release, VisiData is feature complete. There will still be many reworkings, interface changes, added commands, tweaks, embellishments, arguments, and explanations, but as far as I can see, all of the functionality is now there. We are inching ever closer to a v1.0 that will hopefully stand the test of time.

The main goals for the next release (v0.98) are 1) a set of great tours, and 2) documentation of the internal architecture: design decisions, implementation guidelines, and API references.

Here are some more detailed descriptions of what comes with this release:

New Loaders

  • simple remote postgres loader (vd postgres://

  • fixed width column detection (ls -al | vd -f fixed --skiplines 1)

New Commands and Options

  • F1 launches man page quick ref (gF1 now opens the command sheet)

  • vd --diff A B shows B with changes from A in red

  • a Describe Sheet with 'I' shows basic stats for every column!

  • streamlined commandlog (previously called editlog) functionality

  • ^D to quickly save the current cmdlog; vd -p cmdlog-1.vd to replay it

  • removed movement commands (use --replay-movement to reinsert movements)

  • player piano with --delay (used to make the tours on the website)

  • advanced editing, can now make new sheets from whole cloth!

  • 'A' to add a new sheet with some number of columns

  • 'a' to add a new empty row

  • 'gz=' set this column in selected rows to values from a python list expression

  • 'Del'/gDel to clear a cell (set a value to None)

  • 'y' to yank/delete row; 'p' to paste

  • 'zy' to yank (copy) cell contents; 'zp' to paste ('gzp' to paste to all selected rows)

  • 'f' to fill null cells with the previous non-null value

Corporate Sponsors

Sponsor saulpw on Github