<commit_before>---
published: true
title: Fuzzy down selection (fzf)
tags: fish cli fuzzy text search grep repl
---
> FZF is a fuzzy finder for your terminal, it is a command line application that filters each line from given input with a query that the user types. When the query changes, the results update in realtime. - [Article](https://sidneyliebrand.io/blog/how-fzf-and-ripgrep-improved-my-workflow?source=post_page---------------------------) / [HN](https://news.ycombinator.com/item?id=20360204)

- [Why you should be using fzf, the command line fuzzy finder](https://www.freecodecamp.org/news/fzf-a-command-line-fuzzy-finder-missing-demo-a7de312403ff/)
- [fzf live repl](https://paweldu.dev/posts/fzf-live-repl/) / [HN](https://news.ycombinator.com/item?id=23434018)
{% highlight bash %}
echo '' | fzf --print-query --preview "cat *.json | jq {q}"
{% endhighlight %}

- [fish integration](https://github.com/PatrickF1/fzf.fish) 
	- **Ctrl+Alt+F**  (F for file) - recursive listing of current directory's non-hidden files
    - **Ctrl+R** (R for reverse-i-search) - Fish's command history
    - **Ctrl+V** (V for variable) - all the variable names of the environment currently in scope
	- Git
		- **Ctrl+Alt+S** (S for status) - the current repository's git status
    
![caption](https://github.com/PatrickF1/fzf.fish/raw/assets/directory.gif) <commit_msg>Update 2019-07-28-fuzzy-selection.md<commit_after>---
published: true
title: Fuzzy down selection (fzf)
tags: fish cli fuzzy text search grep repl
---
> FZF is a fuzzy finder for your terminal, it is a command line application that filters each line from given input with a query that the user types. When the query changes, the results update in realtime. - [Article](https://sidneyliebrand.io/blog/how-fzf-and-ripgrep-improved-my-workflow?source=post_page---------------------------) / [HN](https://news.ycombinator.com/item?id=20360204)

- [Why you should be using fzf, the command line fuzzy finder](https://www.freecodecamp.org/news/fzf-a-command-line-fuzzy-finder-missing-demo-a7de312403ff/)
- [fzf live repl](https://paweldu.dev/posts/fzf-live-repl/) / [HN](https://news.ycombinator.com/item?id=23434018)
{% highlight bash %}
echo '' | fzf --print-query --preview "cat *.json | jq {q}"
{% endhighlight %}

- [fish integration](https://github.com/PatrickF1/fzf.fish) - see [fish key binding](https://fishshell.com/docs/current/cmds/bind.html) 
	- **Ctrl+Alt+F**  (F for file) - recursive listing of current directory's non-hidden files
    - **Ctrl+R** (R for reverse-i-search) - Fish's command history
    - **Ctrl+V** (V for variable) - all the variable names of the environment currently in scope
	- Git
		- **Ctrl+Alt+S** (S for status) - the current repository's git status
    
![caption](https://github.com/PatrickF1/fzf.fish/raw/assets/directory.gif)
{'fraction_non_alphanumeric': 0.16431095406360424, 'fraction_numerical': 0.02049469964664311, 'mean_word_length': 3.7183333333333333, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 15, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3729339', 'n_tokens_mistral': 1017, 'n_tokens_neox': 919, 'n_words': 257}