For GUI file managers, I have to say you can't get better than Dolphin. It has an integrated shell for the current directory, and you can split the view. It can also directly open ssh and SFTP URLs. For local things the combination of Dolphin and it's shell is unbeatable.
You could do the same with Nautilus. But in their infinite wisdom GNOME developers decided to remove that ability.
I like things that work. Somehow that makes me a luddite!
It doesn't simply select them like some other file managers do, it searches within the name and not just the prefix (again, like some other file managers), you don't have to press anything beforehand. When you get used to it, it's hard to go without it.
https://github.com/lxqt/pcmanfm-qt
For those preferring lightweight environments, it has far fewer dependencies than dolphin.
BTW, do you know if it can build for macOS, or is that a non-starter?
Very nice, but no longer as well maintained.
Try <https://krusader.org>. Same KDE underpinnings, but orthodox interface.
I wish mc could browse remote URLs, and I'm tempted to author an mc clone in Go to address this particular pain-point. Maybe some day handcrafting bespoke rsync/rclone commands will frustrate me enough to motivate me.
Better yet! (one-line) shell prompt is always available and has some nifty integrations via <Ctrl+X>. For example, one has a bunch of files visually tagged (selected) on current panel, and wants to tar them up as "/tmp/foo.tgz". Well...
tar czf /tmp/foo.tgz <Ctrl+X><T>I see it can even do file previews with kitty which is perfect as I already use kitty as my default terminal.
> ..a “Ctrl + dot” keyboard shortcut for opening the current directory in the terminal
https://9to5linux.com/gnome-49-brescia-desktop-environment-o...
Super nice especially when adding music to my library with Beets...
it was renamed somewhere around 1995
Because that's what I miss most in my shell.
print -rl -- *(om[1].)
in zsh?And of course, if the latest file isn't what I wanted, then it should be possible to easily go to the latest file before that.
$ date; print -rl -- **(om[1].D);date; newest -n4 -r0 $HOME
Wed Sep 17 12:48:53 EDT 2025
.config/mozilla/firefox/p9/bounce-tracking-protection.sqlite
Wed Sep 17 12:49:25 EDT 2025
/u/p9/.config/mozilla/firefox/p9/permissions.sqlite
/u/p9/.config/zsh/history
/u/p9/.config/mozilla/firefox/p9/places.sqlite-wal
/u/p9/.config/mozilla/firefox/p9/bounce-tracking-protection.sqlite
*newest -n4 -r0 $HOME
Time: 1.882365 (u) + 1.318166 (s)=3.215131 (99%) mxRSS 139 MiB
Not sure how to change to get most recent 4 or whatever in the Zsh style (since, you know, that'd be 10x slower..)