6 ms·
Antonmedv/walk: Terminal file manager
- deevus 3y agoZsh has this out of the box. You just type the name of a directory and it will `pushd` to it. At least I think it's built-in. It could be oh-my-zsh I suppose.
- vladvasiliu 3y agoIt's not out of the box. It works on my omz shell, although I didn't do anything to specifically enable this since it never bothered me to type cd and I kinda hate "magic". On an out-of-the-ubuntu-box zsh, it doesn't work: % cd / % bin zsh: command not found: bin
- pcdavid 3y agoThis behavior is controled by the AUTO_CD option: https://zsh.sourceforge.io/Doc/Release/Options.html https://zsh.sourceforge.io/Doc/Release/Options.html. To enable it yourself: setopt AUTO_CD
- bandie91 3y agoin bash it's shopt autocd
- kholdstayr 3y agoI see that it doesn't go up (..) a directory.
- Nostrada 3y agoBackspace
- gcr 3y agoNeat project! Thanks for sharing! "broot" also lives in this space, but is rapidly getting too complex for me to memorize without consulting the help page.
- dystroy 3y agoWhat's too complex ? 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.
- gcr 3y agoThe problem is that my brain is too small to remember all the commands. You're inspiring me to make some flash cards -- that'll sort my concern out. (Thanks for your work on broot btw! It really is a great tool)
- bayesianbot 3y ago+1 for broot[1], it works so fast and can be used even to fuzzy search sub-sub-directories. I'm also bit lost on the features but the help is quite good and mostly I use it just to find a directory and enter it, which requires only one keyboard shortcut. [1] https://github.com/Canop/broot https://github.com/Canop/broot
- 9dev 3y agoThis is the default behaviour of fish[1], by the way! [1]: https://fishshell.com https://fishshell.com
- lwhsiao 3y agoCan you say more? AFAIK, fish doesn't have an interactive fuzzy cd built-in.
- em-bee 3y agoit works a bit differently i think, but it does have a fuzzy search. if i type "cd ae[tab]" then fish will list all directories with the letters a and e in them, except when there are entries that start with "ae" then it will only show those. that is fuzzy search only comes when there are no better matches.
- toppy 3y agonnn [1] seems like a more advanced tool (directory management, copying, renaming, packing/unpacking) and pluggable. [1] https://github.com/jarun/nnn https://github.com/jarun/nnn
- Sakos 3y agoThis looks cool, though I already use https://github.com/ranger/ranger https://github.com/ranger/ranger for this.
- CGamesPlay 3y agoI built a "Control-P" feature for fish that would also be a good trigger for this tool. Basically, you activate the shortcut to run the program, then it will change the directory based on the selection, but restore your original command line after. So you can be halfway through a command before realizing you are in the wrong place. Also, can cd with one fewer keystroke. My version is at [0], but obviously modifiable for other tools like this one. [0] https://github.com/CGamesPlay/dotfiles/blob/3560a5a92d4755379f1c8ac7b0a32bf237d9aac2/files/.config/fish/conf.d/20-fasd.fish#L21 https://github.com/CGamesPlay/dotfiles/blob/3560a5a92d475537...
- xiaq 3y agoShameless plug: Elvish is a shell with a filesystem navigator built in - you can see it in demo 5 on the homepage https://elv.sh https://elv.sh
- em-bee 3y agoi have been looking at elvish from time to time (ever since we met in beijing :-). but i am missing two key features: 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.
- bandie91 3y agomy home grown response to the rename use-case: https://github.com/bAndie91/tools/blob/master/user-tools/rn https://github.com/bAndie91/tools/blob/master/user-tools/rn and https://github.com/bAndie91/tools/blob/master/user-tools/renamemanual https://github.com/bAndie91/tools/blob/master/user-tools/ren...
- em-bee 3y agoneat. 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 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.
- _joel 3y agoWas there something before https://midnight-commander.org/ https://midnight-commander.org/ or was that the OG?
- jrm4 3y agoNice. I ended up using fff + a little script that pops you to where you select, but I'll see if this is more elegant. 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?)
- bityard 3y agoMy reluctance to use these nice modern shell utilities stems from the fact that if I come to rely on them, I will drive myself crazy trying to use them in places where they are not available and never will be. (I routinely log into various hosts to poke around and troubleshoot.) It's more worth my time to be as efficient as I can with the tools that are included out-of-the-box with most standard Linux and *nix OSes. (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.)
- em-bee 3y ago100% this. my current activity is spread over half a dozen machines, and i create a new one for every dev project. i want to minimize the amount of setup i have to do to get things working. this is also the reason why i learned VI. because at the time emacs was not available on all the unix systems i was working on, and it wasn't easy to install. 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.
- imiric 3y agoI agree to an extent. But then again, I already rely heavily on aliases, functions, vi-mode, command history, and many other shell features, that it's painful to use a barebones shell to get any work done. So I have a small snippet I run on every new environment, to make the experience a little more enjoyable. This includes installing some required tools, copying over bash or zsh configs, the tmux config, etc. It doesn't take more than a minute, and beats struggling with the default environment. Adding this tool wouldn't be an issue if it greatly increases my productivity.
- mgunyho 3y agoLooks very similar to my tool, tere: https://github.com/mgunyho/tere https://github.com/mgunyho/tere. The main difference seems to be that I don't do any file manipulation, while walk has the option to delete files/folders. In my implementation, you don't need to type '/' for fuzzy search, just typing searches and jumps by default. 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.
- deleted 3y ago[deleted]
- desireco42 3y agoThis thing is amazing... does everything I want, it is perfect! Love it! Opens in NVim, if I exit, I am back in the file manager... just brilliant. Also exit with Esc to folder you are looking and ctrl-C to original... very cool. I am really a simple man, what can I say.
- tamimio 3y agoProbably better to be called file browser, a file manager can copy/paste (or download/upload if remote) files, this doesn’t seem to be there.
- bandie91 3y agoshameless plug - my home grown file-browser-in-shell: https://asciinema.org/a/604250 https://asciinema.org/a/604250
- bandie91 3y ago"Esc Exit with cd" key binding is a bit off IMO, people usually expect Esc calcels or dismisses things not doing forward action. considering that "Enter" is already taken, it's a hard choice i admit.
- bandie91 3y agodon't see the cursor under vt100 nor xterm… accidentally hit "dd" on a directory… unexpected "(u)ndo in 5… 4… 3…" message pop up… muscle memory kicked in "Ctrl–C Ctrl–C Ctrl–C" but no avail. prophetically it was walk's directory itself. turned out the Esc key binding was the least of the issues.