`fd` For Find Files
One of the concepts I want to emphasize is the advantage of using small “composable” Unix utilities. To this end, I use rg
for all kinds of operations that search or list files. One advantage of this approach is that convenient rules setup in rg
, e.g., ignoring .git
directories and files in .gitignore
, then propagate over every file and search operation I perform.
But something that’s always bothered me is since rg
doesn’t support finding directories (understandably), I lose rg
semantics when searching for directories, and instead get decades old find
semantics, which don’t do smart things like ignoring things that probably should be ignored.
So I was delighted when I followed the ripgrep
GitHub issue to the fzf README
to fd
. A utility that does exactly what I’m looking for, find directories while replicating the smart take on semantics used by rg
(and other modern unix utilities).
Here’s an example of my favorite use of this, replacing the built-in fzf
zsh
widget’s FZF_ALT_C_COMMAND
, which enables a key command to fuzzy filter a directory to cd
to recursively.