Fuzzy down selection (fzf) is the big win. In Emacs that would be Helm of swiper. Instead of local completion (tab tab tab ;) do a global search, and narrow down interactively using fuzzy selection. It's really a different experience, a bit disconcerting at first (tab built into muscle memory), but it quickly becomes a one way change. No way I'd let go of fuzzy selection now. The connection with ripgrep is that fuzzy…
How FZF and ripgrep improved my workflow
41–50 of 89 posts
Re: How FZF and ripgrep improved my workflow
#42Shameless plug FZF even works well as a dictionary/word autocompleter. https://github.com/Avi-D-coder/fzf-wordnet.vim
Neat. I use it for all kinds of stuff in Rails Feb, from searching routes and rake tasks to finding Cucumber step definitions. I'd recommend using fd for listing files as it offers lots of filtering options right out of the box - much more useable than find imho. https://github.com/sharkdp/fd
Re: How FZF and ripgrep improved my workflow
#43Re: How FZF and ripgrep improved my workflow
#44Re: How FZF and ripgrep improved my workflow
#45Fuzzy down selection (fzf) is the big win. In Emacs that would be Helm of swiper. Instead of local completion (tab tab tab ;) do a global search, and narrow down interactively using fuzzy selection. It's really a different experience, a bit disconcerting at first (tab built into muscle memory), but it quickly becomes a one way change. No way I'd let go of fuzzy selection now. The connection with ripgrep is that fuzzy…
The cherry on the cake ultimate big big win for me is that with fzf, fuzzy selection behaves uniformly across all tools in my stack. Before that each one has subtle differences in filtering the resultset from the input, which often threw me off.
Re: How FZF and ripgrep improved my workflow
#46I've tried to play with Zsh's Zle but wasn't able to find a way to abort FZF and retain the input, I suppose I need to modify FZF itself.
If there's a way to do it with Zsh I'm all ears...
Re: How FZF and ripgrep improved my workflow
#47Fuzzy down selection (fzf) is the big win. In Emacs that would be Helm of swiper. Instead of local completion (tab tab tab ;) do a global search, and narrow down interactively using fuzzy selection. It's really a different experience, a bit disconcerting at first (tab built into muscle memory), but it quickly becomes a one way change. No way I'd let go of fuzzy selection now. The connection with ripgrep is that fuzzy…
One sad thing about FZF is that it doesn't also support tab-completion. Both ido and ivy support both tab-completion and fuzzy searching at the same time. They compliment each other really well and make these both much more general purpose tools. One import application is when your search space is a tree (like a file system). FZF sucks at that and the authors have no interest in supporting tab-completion or trees.
Re: How FZF and ripgrep improved my workflow
#48 $ hyperfine --warmup 2 -r 10 'rg --files | fzy -e hello' 'rg --files | fzf -f hello'
Benchmark #1: rg --files | fzy -e hello
Time (mean ± σ): 153.6 ms ± 57.9 ms [User: 399.2 ms, System: 96.9 ms]
Range (min … max): 85.9 ms … 244.3 ms 10 runs
Benchmark #2: rg --files | fzf -f hello
Time (mean ± σ): 210.5 ms ± 61.6 ms [User: 443.3 ms, System: 90.9 ms]
Range (min … max): 123.3 ms … 315.5 ms 10 runs
Summary
'rg --files | fzy -e hello' ran
1.37 ± 0.65 times faster than 'rg --files | fzf -f hello'
[1] https://github.com/jhawthorn/fzyRe: How FZF and ripgrep improved my workflow
#49I can't really fault both of these tools at all. They have good defaults and are easy to configure and are well documented. Of course they are very performant too, but if you take the time to configuring your wildignore, learn how to use find's and rgrep's flags (maybe script some of this with shell or vimscript if necessary) you can get close to the performance of these tools and define your own usability if needed.…
Not to argue with you as I see where you're coming from (all things being equal I too usually go with the defaults) but the argument about "not having to install and setup additional tools...on lots of different machines" is very weak in these days of: git clone https://gitlab.com/myaccount/mydotfiles followed by an optional: ./deploy_stuff_if_required which for me I have working on any number of linux boxes as well…
Re: How FZF and ripgrep improved my workflow
#50Earlier quoted context omitted.
The cherry on the cake ultimate big big win for me is that with fzf, fuzzy selection behaves uniformly across all tools in my stack. Before that each one has subtle differences in filtering the resultset from the input, which often threw me off.
That's why emacs users tend to use emacs for everything. Ultimately, everything we do is all text. Editing source code, writing notes, searching through documents, writing emails. It's natural to want to use your favourite tool for all of your text editing needs.