Out of the box it already ships zsh integration to fuzzy-search history with ctrl+r. I don't know what I'd do without this.
I also have a short script, `re` to fuzzy-search a local git repository:
fd -IH -t d '^\.git$' --format '{//}' ~/src |
fzf |
sed "s|^$HOME|~|" |
wl-copy --primary
This copies the path into clipboard. I typically paste it immediately, so that `cd $PATH_TO_REPO` ends up in history for next time.
I use zk[1] to organise my notes, and it uses fzf to provide a TUI for fuzzy-search notes too.
The way in which fzf is re-usable by different scripts and tools is really neat. I the world of GUIs, we don't really have composable re-usable components like this.
Just this weekend I used fzf (and a bit of python glue) to create my own TUI wrapper around OpenSUSE's package manager, zypper. With fzf's multi-selection mode I can select multiple packages at once to install or remove. Using fzf's preview command feature I can use zypper info (with a little bit of my own caching wrapping it) to display package info as I go through the list. A custom header shows the shortcuts for installing, removing, etc.
https://github.com/joehillen/sysz/blob/master/sysz
A TUI in pure shell script?? I read the script and don't even see how it's done.
1: https://github.com/junegunn/fzf
Consider this a feature request, I guess :)
I think the functionality is already there:
Out of the box it already ships zsh integration to fuzzy-search history with ctrl+r. I don't know what I'd do without this.
I also have a short script, `re` to fuzzy-search a local git repository:
This copies the path into clipboard. I typically paste it immediately, so that `cd $PATH_TO_REPO` ends up in history for next time.I use zk[1] to organise my notes, and it uses fzf to provide a TUI for fuzzy-search notes too.
The way in which fzf is re-usable by different scripts and tools is really neat. I the world of GUIs, we don't really have composable re-usable components like this.
[1]: https://github.com/zk-org/zk