Antonmedv/walk: Terminal file manager
github.com
github.com
I also have a list of similar projects at the end of the README, I'll add this as well! edit: Oh I already had it in my list, the project has just been renamed from llama to walk.
[0] https://github.com/CGamesPlay/dotfiles/blob/3560a5a92d475537...
"broot" also lives in this space, but is rapidly getting too complex for me to memorize without consulting the help page.
I'd like to get more information on what is less obvious than it was at the beginning and any hint on how to fix that. Broot's chat is always open for that.
(Thanks for your work on broot btw! It really is a great tool)
I don't know about y'all, but my biggest problem with these things is that I'm definitely faster when I remember to use them, but I have literal decades of slow muscle memory that makes me cd/autojump all the time instead.
(Relatedly, why is Dolphin apparently the only GUI file manager trying to make a serious attempt at shell integration? This seems weird? I might be missing something?)
(But I can see utilities like this being useful for people who only rarely have a reason to SSH into other hosts, which is most developers I suspect.)
if a tool is very good and it's available as a linux distribution package then i'll use it because i can rely on it being easy to install. but if that's not the case, more often than not it's not worth the effort.
Adding this tool wouldn't be an issue if it greatly increases my productivity.
autosuggestion: type something and then suggest a command from the history that matches what i typed.
non-incremental history: if the autosuggestion is not the right one, use arrow keys to search for a better one.
fish has both.
zsh has a module for autosuggestion. but if the suggestion is wrong then i have start search and retype what i just wrote. i want to avoid having to type twice.
another feature i am looking for is renaming files in place:
instead of: 'mv oldname newname;' i want something like 'rename oldname; enter;' and now allow me to edit 'oldname' into 'newname'. very often the filenames are long and i only want to change a few characters in it. having to retype the whole filepath when using mv can lead to errors.
https://github.com/bAndie91/tools/blob/master/user-tools/rn
and
https://github.com/bAndie91/tools/blob/master/user-tools/ren...
that's pretty much what i had in mind, but only for a single rename.
i just did a search and embarrassingly discovered imv which is part of the renameutils package which also contains qmv, a tool to batch rename lots of files by loading the list into an editor. embarrassed because qmv is my favourite tool for batch renaming, and so i have it already installed.
imv is exactly what i am looking for, for the single file rename case: "The imv ("interactive move") program, is trivial but useful when you are too lazy to type (or even complete) the name of the file to rename twice. It allows a file name to be edited in the terminal using the GNU Readline library."
so we can consider this problem solved.
back to alternative shells: i am just spoiled by fish (no the fish isn't spoiled): autosuggestion and non-incremental search like fish are a requirement for me to consider any other shell now.
btw: autosuggestion for elvish is being discussed here: https://github.com/elves/elvish/issues/322 and apparently it has some of that search feature too (from a comment): "type the beginning of a command and press Up and cycle through all the commands that start with the string I typed."
i am going to have to try that.
There's also Ctrl-R for searching through history, and unlike other shells it has a list UI (like fzf). If you've typed something and then press Ctrl-R, it gets used as the filter.
If you use bash, or any readline-based command line (in emacs mode):
mv long.file.name |^W^Y^Y
results in mv long.file.name long.file.name |
(| is the cursor).
Then, you just edit the second copy of the filename.
BTW, M-C-b/M-C-f will move by one whole "argument" (even if it contains escaped spaces).edit: and if your filename has spaces, replace the ^W above with M-C-b C-k
I am really a simple man, what can I say.
% cd /
% bin
zsh: command not found: bin setopt AUTO_CD