saulpw / visidata

A terminal spreadsheet multitool for discovering and arranging data
http://visidata.org
GNU General Public License v3.0
7.8k stars 276 forks source link

Feature request: vertical splits #1651

Closed andrew-vant closed 11 months ago

andrew-vant commented 1 year ago

Split mode is awesome, but on a widescreen monitor, vertical screen real estate is precious and horizontal is cheap. It would be really helpful to be able to split side-by-side instead of top-and-bottom.

I gather from the changelog that this was considered at some point in the past, but it's unclear whether the idea was rejected or just put off for the time being.

saulpw commented 1 year ago

Hi @andrew-vant! I'm thinking of going in another direction, which is to make a VisiData "server" which other clients can connect to, including another terminal client. So you could use another program (e.g. tmux or your current window manager) to manage multiple terminals with different views into the same set of VisiData sheets. Would that suit your use case?

andrew-vant commented 1 year ago

Possibly. I only started using visidata in the last few weeks and haven't yet got a handle on the features I'll use most. The lack of vsplits stuck out mainly because I use them all the time in vim and tmux.

I think the motivating case was when I wanted a view of the current record's data (the display that comes up if you hit Enter on a row) in a vsplit next to the sheet itself.

geekscrapy commented 1 year ago

I think the motivating case was when I wanted a view of the current record's data (the display that comes up if you hit Enter on a row) in a vsplit next to the sheet itself.

This is exactly the same usecase I have for vsplit. When moving between rows with a lot of columns I'd love to see those columns transposed to rows in a vsplit.

saulpw commented 1 year ago

It seems like you both want something like a file manager's preview pane. Like when you press Enter on the DirSheet, it opens the file; and you'd like to preview that in the vsplit panel, without having to actually press Enter and navigate. And for all sheets, not just the DirSheet. What if it weren't a generic vsplit, but strictly like this? Like a "dive-preview" pane that's always on the right (when it's open)?

geekscrapy commented 1 year ago

@andrew-vant this just came in which is in the same sort of flavour: #1685

frosencrantz commented 1 year ago

A shout-out for @ajkerrigan's similar plugin:

https://github.com/ajkerrigan/visidata-plugins#parent_navigation-helpers-for-navigating-a-parent-sheet-from-its-child

@saulpw , I would really like a preview pane vertical or horizontal for viewing like fzf command has a preview pane that can handle things like ANSI colour codes. But I also want @geekscrapy's use case of being able to see more details of the rows or column I'm on. So for cell values that are too long, or even for column names that are much longer than the column values, like boolean values.

saulpw commented 1 year ago

@frosencrantz We now have options.disp_sidebar_fmt which you can set to {cursorDisplayValue} or {cursorCol.name} or anything else that makes sense.

saulpw commented 11 months ago

We're unfortunately not going to implement vertical splitpane in the near future. There are some good workarounds already mentioned: horizontal splitpane, the configurable sidebar, and a tracking plugin. Kondo'ed for now.