But seems like the trend of the last 10 years is to rewrite every single already existing Unix tool in Rust or node.js. Throwing out code is more fun than reading man pages I guess.
This saddens me. It looks like the average dev in 2020 believes he needs to pollute his working environment with thousands of seemingly useless tools to be productive.
fzf, silver searcher, ripgrep, etc.
I will be downvoted to hell, because these people genuinely believe they need these tools, and will find whatever performance or feature argument to explain why. But from my experience, I am much faster at any command line task than pretty much anyone using these fancy stuff, even though I stick to bash, vim, and coreutils...
Your comment reads as a no-true-scottsman "look how skilled I am" signaling device. You're not necessarily wrong, but you're also clearly fighting a pointless battle, and sound a bit out-of-touch.
Yes, the tools already exist and work. No, they do not need to be re-written, but the new versions are often substantially more usable and newcomers enjoy that. Such is the nature of life. Things change. Accept that and you'll be happier.
Your attitude might win some points with other fight-the-tide-till-my-last-dying-breath types, but it reads to me as "It is the children who are wrong!"
I worked with a guy who had the same attitude about always using kubectl over the gui because it was "faster". He was demonstrably slower at quite a few common tasks, like discovering errors in logs across many pods, than others who used the gui.
I appreciate your call to be familiar with the core unix experience, but the unix userland is definitely enriched by these newfangled tools.
All of the tools you mentioned started as rewrites of existing tools and only became better over time as they added features. That process hasn’t stopped.
Given these tasks are accomplishable in many less keystrokes using `rg` and `fzf` than the built-in utilities, how would you make the argument that you're able to accomplish these command line tasks faster using only "bash, vim, and coreutils"?
Fzf gives you a list of hits that you can go through to select the one you want. Ctrl-r in bash just shows you the current hit.
Those are real advantages.
I personally use fzf [0] for a similar functionality. It brings fuzzy-search to a lot of aspects of the shell, like reverse search but also autocompletion of `kill` for example.
alias fzubl='fzf -m | xargs subl'
I didn't have `cargo` or any other rust language support installed. However, that seems pretty straight forward: https://www.rust-lang.org/tools/install
You may want to throw that into the README.
Anyhow, I'm running this on WSL2/Ubuntu 20.04 using zsh + ohmyzsh. It installs cleanly, and I just added `alias hh=hstr-rs` to ~/.zshrc as the only additional step. Works nicely!
I use it on a daily basis.
Check out the README for instructions if you want to try it out.
Suggestions, bug reports, etc. are welcome.
Let me know what you think:
> hstr is shell history suggest box. Like hstr, but with pages.
Should be "hstr-rs is shell..." I presume?
Looks like a nice project :) I'll give it a go. I've often wanted to iterate through options when ctrl-r ing in bash (not saying there isn't a way to do that, but if there is I don't know it)
One suggestion would be to make it a homebrew recipe for macOS and the Linux version. It would then see a lot more adoption (even if the alias has to be set manually which is fine as it's personal). I'd install it instantly (and probably forget about it for a month).