Jump to content

Fzf: Difference between revisions

From Official NixOS Wiki
m zsh article typo fix
DHCP (talk | contribs)
m style fixes and minor corrections
 
Line 9: Line 9:
== Bash ==
== Bash ==
=== With Home-manager ===
=== With Home-manager ===
There is option to enable fzf bash integration
There is an option to enable fzf bash integration:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
programs.fzf.enableBashIntegration = true;
programs.fzf.enableBashIntegration = true;
</syntaxhighlight>
</syntaxhighlight>
=== Without Home-manager ===
=== Without Home-manager ===
To enable fzf in bash add the following line to <code>$HOME/.bashrc</code>
To enable fzf in bash add the following line to <code>$HOME/.bashrc</code>:
<syntaxhighlight lang="bash">eval "$(fzf --bash)"</syntaxhighlight>
<syntaxhighlight lang="bash">eval "$(fzf --bash)"</syntaxhighlight>


Line 20: Line 20:
You can enable fzf in [[zsh]].
You can enable fzf in [[zsh]].
=== With Home-manager ===
=== With Home-manager ===
There is option to enable fzf zsh integration
There is an option to enable fzf zsh integration:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
programs.fzf.enableZshIntegration = true;
programs.fzf.enableZshIntegration = true;
</syntaxhighlight>
</syntaxhighlight>
=== Without Home-manager ===
=== Without Home-manager ===
To enable fzf in zsh add the following line to <code>$HOME/.zshrc</code>
To enable fzf in zsh add the following line to <code>$HOME/.zshrc</code>:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
eval "$(fzf --zsh)"
eval "$(fzf --zsh)"
Line 33: Line 33:
To enable fzf in [[fish]].
To enable fzf in [[fish]].
=== With Home-manager ===
=== With Home-manager ===
There is option to enable fzf fish integration
There is an option to enable fzf fish integration:
<syntaxhighlight lang="nix">
<syntaxhighlight lang="nix">
programs.fzf.enableFishIntegration = true;
programs.fzf.enableFishIntegration = true;
</syntaxhighlight>
</syntaxhighlight>
=== Without Home-Manager ===
=== Without Home-Manager ===
To enable fzf in fish add the following line to <code>$HOME/.config/fish/functions/fish_user_key_bindings.fish</code>
To enable fzf in fish add the following line to <code>$HOME/.config/fish/functions/fish_user_key_bindings.fish</code>:


<syntaxhighlight lang="fish">
<syntaxhighlight lang="fish">
Line 50: Line 50:
You can interactively search the list of available packages with:
You can interactively search the list of available packages with:


<syntaxhighlight lang="bash">
<syntaxhighlight lang=console>
nix-env -qa | fzf
$ nix-env -qa | fzf
</syntaxhighlight>
</syntaxhighlight>


[[Category:Applications]]
[[Category:Applications]]
[[Category:Shell]]
[[Category:Shell]]

Latest revision as of 14:29, 19 July 2026

fzf is a general-purpose command-line fuzzy finder.

Shell extensions

fzf provides additional key bindings (CTRL-T, CTRL-R, and ALT-C) for shells

First install fzf in your profile, then use one of the following methods:

Bash

With Home-manager

There is an option to enable fzf bash integration:

programs.fzf.enableBashIntegration = true;

Without Home-manager

To enable fzf in bash add the following line to $HOME/.bashrc:

eval "$(fzf --bash)"

Zsh

You can enable fzf in zsh.

With Home-manager

There is an option to enable fzf zsh integration:

programs.fzf.enableZshIntegration = true;

Without Home-manager

To enable fzf in zsh add the following line to $HOME/.zshrc:

eval "$(fzf --zsh)"

Fish

To enable fzf in fish.

With Home-manager

There is an option to enable fzf fish integration:

programs.fzf.enableFishIntegration = true;

Without Home-Manager

To enable fzf in fish add the following line to $HOME/.config/fish/functions/fish_user_key_bindings.fish:

fzf --fish | source

Examples

Search all nix packages

You can interactively search the list of available packages with:

$ nix-env -qa | fzf