TabViewer / tabview

Python curses command line CSV and tabular data viewer
Other
459 stars 49 forks source link

Search/go-to column label by name #104

Open wavexx opened 9 years ago

wavexx commented 9 years ago

I feel there should be a way to jump to a column label, directly by name.

Currently I'm disabling the header, performing a search, skip to the column I'm looking for, and then toggling the header again.

I don't have a concrete idea on how to change the UI for this. Ideally I would use some sort of incremental live search. This requires a new binding to initiate the search ('l' for label?) and maybe reuse n/p to iterate across matches.

Better proposals?

wavexx commented 9 years ago

What about using a prefix argument for search ?

/ => normal search 0/ => search labels 1/ => search column 2/ => search row

firecat53 commented 9 years ago

Hummm....I'll have to think on that one...

wavexx commented 9 years ago

It's not very vi-like, I agree.

Adding search restrictions on row/columns is definitely helpful though, and searching on labels (and index in the future) is something that's missing right now.

Adding bindings for each mode seems wasteful.

A postfix form of search ([char][type]) where 'char' could be 'f/r' for 'forward/reverse' and [type] would be 'c/r/l/i' for column/row/label/index, which would be similar to the behavior of usual operations in vim. You could even overload type to 'c/ac' for column (from current position) and "a column" (for searching from start).