v1.7.0
Interactive-viewer focus on top of 1.6.0. Major additions to the
ncurses TUI: mouse clicks, an in-place theme picker with XDG-spec
persistence, a vim-style : command line, and multi-file tabs.
Added
- TUI multi-file tabs —
vv a.vcf b.bed c.parquetopens each
file as a tab.Tab/Shift+Tabcycle. Each tab keeps its own
scroll position, sort, filter, column-visibility set, search
anchor, and chunk cache; switching back is instant. Status bar
showstab N/M: basenamewhen more than one file is open.
Non-interactive output modes (--tsv,--parquet, …) still
process only the first positional — multi-file is TUI-only. - TUI command line (
:key) — vim/less-style typed-command
prompt at the bottom of the screen. First verbs::<N>— jump to row N (matches the row-index column;
out-of-range clamps to the last page). Closes the "scroll
through millions of rows by hand" pain point.:q/:quit— quit (vim muscle memory).:theme NAME— text-driven theme switch (alt to theT
overlay), with the same name set as--theme. Persisted to
~/.config/vv/configvia the standard XDG path.
Errors stay in the input bar so the line can be edited;Esc
cancels. Extensible — future verbs (:reload,:w FILE, …)
slot in without new key bindings.
- TUI theme picker (
Tkey) — overlay listing every built-in
theme;[*]marks the currently-active one,j/kmove the
cursor,Enterapplies the choice. The new theme takes effect
immediately (ncurses color pairs re-initialised in place) and
the choice is persisted to~/.config/vv/config
($XDG_CONFIG_HOME/vv/configif set) so future runs start with
the same theme.Esccloses the overlay without changing. - XDG-spec user config —
vvnow reads
$XDG_CONFIG_HOME/vv/config(default~/.config/vv/config)
at startup. Format is plain INI-stylekey = value; lines
starting with#are comments. Today onlythemeis read;
the format is extensible — future preferences (default
--threads,--decode-threads, etc.) slot in without breaking
existing files. Writes are atomic (.tmp+ rename) and preserve
any comments / other keys in place. CLI flags always win over
the config file. - TUI mouse clicks — three additive bindings on top of the
existing wheel-scroll: click a column header to sort by that
column (toggle asc/desc on repeat; updates the active column
forS/y); click a data row to scroll it to the top;
double-click a data row to open the detail pane (same as
Enter). Shift+drag continues to work as the universal escape
hatch for native terminal text selection.