ibraheemdev/modern-unix

Please Suggest a file manager among these

KAGEYAM4 opened this issue · 3 comments

I was looking to learning a tui file-manager, and the list of tui-file manager is quite big and i am not able to differentiate between them
https://wiki.archlinux.org/title/Midnight_Commander
https://github.com/ranger/ranger
https://github.com/sxyazi/yazi
https://github.com/dylanaraps/fff
https://github.com/kamiyaa/joshuto
https://github.com/jarun/nnn
https://github.com/sayanarijit/xplr
https://vifm.info

Is there no one among these that can be added to this repo to be called moden & following unix philosophy?

Midnight Commander is solid but yes it is a bit old-school.

xplr looks promising, but I'm not sure if the idea of a file manager can really follow unix philosophy.

On desktop I definitely prefer Krusader (which is similar to MC; for Mac marta also looks good) but honestly I hardly ever need a file manager.

Instead I use:

  • fd-find: For searching filenames, file extensions, etc fd -eRAR --min-depth 1 --max-depth 2 --changed-within '1 week'
  • rclone move to merge file trees (more info here)
  • NOCOLOR=1 ncdu for sorting files by size or count of files (press c and shift-c)
  • lsar to browse archives (part of unar I think)
  • rename from util-linux
  • feh for browsing folders of photos. If you wanted to preview a bunch of folders you could use some contact sheet software or pipe fd -tf --max-results=1 to kitty +kitten icat or something
  • I created these fish functions to quickly browse file trees but I honestly don't use them that often because ncdu is usually more useful:

Show file tree:

function f
    setterm -linewrap off
    tree -FLh 3 --sort=mtime --dirsfirst --prune --du --noreport -up -C $argv | grep -v '/$'
    setterm -linewrap on
end

Show folder tree

function l
    setterm -linewrap off
    tree -Lh 2 --sort=mtime --dirsfirst -d -h --prune --du -up -C $argv
    setterm -linewrap on
end

Both of these default to two levels. You can use l -L 3 to see three levels of folders. To search the output you could use less -FSRXc or use your terminal's scrollback search feature (eg. in kitty ctrl-shift-h)

I'm not sure what you would need a file manager for beyond these tasks ? If you have something that requires a file manager workflow it usually is better to switch to a software that is specific to the types of files that you are working wih: ACDSee, NLE video editors, and VS Code are good examples of these types of tools that incorporate file trees and direct manipulation.

Check out Yazi, https://github.com/sxyazi/yazi :

  • 💥 Blazing fast - Written in Rust, it is the only terminal file manager that is fully asynchronous I/O, event-driven, and supports multi-threading for accelerated CPU tasks.
  • 🌟 Batteries included - It includes various image protocols and integrates Überzug++ to cover almost all terminal image displays. It also has built-in code highlighting and native integration with fd, rg, fzf, and zoxide.
  • 🎨 Modern - Yazi has a comprehensive theme system with multiple themes to choose from. It also supports Vim-like input, select components, and multiple tabs.
  • 💪 Powerful - It boasts the most powerful asynchronous task scheduling system, and has a concurrent plugin system that allows easy creation of custom previewers, preloaders, and UI plugins, etc.
  • 🦆 Bonus: The duck is a cute fellow.

Also see this article: Why is Yazi Fast?

1

2

I am also leaning towards yazai.