sxyazi / yazi

💥 Blazing fast terminal file manager written in Rust, based on async I/O.
https://yazi-rs.github.io
MIT License
16.64k stars 387 forks source link

Vifm-like Tree View #1867

Closed ret2src closed 2 weeks ago

ret2src commented 2 weeks ago

yazi --debug output

Yazi
    Version: 0.3.3 (e3c9111 2024-10-31)
    Debug  : false
    OS     : linux-x86_64 (unix)

Ya
    Version: 0.3.3 (e3c9111 2024-10-31)

Emulator
    Emulator.via_env: ("xterm-kitty", "")
    Emulator.via_csi: Ok(Kitty)
    Emulator.detect : Kitty

Please describe the problem you're trying to solve

Currently, I'm a vifm user. vifm provides a so-called "tree view" mode, which expands all subdirectories in the current directory:

vifm tree view

This allows users to quickly filter, select, and move certain files in complex directory hierarchies. For example, sometimes you might want to move all images or videos from all subdirectories to a common directory or simply rename them conveniently without traversing all the directories individually.

I'm currently unaware of anything in yazi that allows me to replicate this feature / workflow and I think it would be an amazing addition to your already amazing file manager.

Would you be willing to contribute this feature?

Describe the solution you'd like

A feature that gives me the option to expand all subdirectories in the current directory would allow me to work more efficiently on large or complex directory hierarchies.

Example: Tree view filtered for files that end in .nix$ (would allow me to move, rename, edit these files simultaneously)

Tree view filtered for .nix files

Implementation of the feature could be solved as a "virtual overlay view" that can be toggled, just like in vifm.

Additional context

No response

Validations

sxyazi commented 2 weeks ago

Hi, I plan to implement a "tree-view" for Yazi in the future, and it will be similar to the dual-pane.yazi (an impl of vifm's dual-pane) as a separate plugin, the current plugin API is enough to support it, just haven't had the time to work on it yet.

Closing as already tracked in https://github.com/yazi-rs/plugins/issues/9 as the tree.yazi plugin

ret2src commented 2 weeks ago

This sounds amazing, thank you for maintaining such an awesome project and implementing all these cool features!

I think yazi will replace vifm as my daily file manager once the tree view has been implemented.