Integrate fzf (command-line fuzzy finder) functionality into Fish. Includes handy functions to:
cd
into sub-directoriesAll functions:
Install with Fisher:
fisher install jethrokuan/fzf
Legacy | New Keybindings | Remarks |
---|---|---|
Ctrl-t | Ctrl-o | Find a file. |
Ctrl-r | Ctrl-r | Search through command history. |
Alt-c | Alt-c | cd into sub-directories (recursively searched). |
Alt-Shift-c | Alt-Shift-c | cd into sub-directories, including hidden ones. |
Ctrl-o | Alt-o | Open a file/dir using default editor ($EDITOR) |
Ctrl-g | Alt-Shift-o | Open a file/dir using xdg-open or open command |
Legacy keybindings are kept by default, but these have conflict with key bindings in Fish 2.4.0. If you want to use the new keybindings, ƒenter the following into your terminal:
set -U FZF_LEGACY_KEYBINDINGS 0
You can disable default keybindings altogether by running:
set -U FZF_DISABLE_KEYBINDINGS 1
Note: On OS X, Alt+C (Option-C) types ç by default. In iTerm2, you can send the right escape sequence with Esc+C. If you configure the option key to act as +Esc (iTerm2 Preferences > Profiles > Default > Keys > Left option (⌥) acts as: > +Esc), then Alt+C will work for
fzf
as documented.
Variable | Remarks | Example |
---|---|---|
FZF_FIND_FILE_COMMAND |
Modify the command used to generate the list of files | set -U FZF_FIND_FILE_COMMAND "ag -l --hidden --ignore .git . \$dir 2> /dev/null" or set -U FZF_FIND_FILE_COMMAND "fd --type f . \$dir" ($dir represents the directory being completed) |
FZF_CD_COMMAND |
Similar to ^ | Similar to ^ |
FZF_CD_WITH_HIDDEN_COMMAND |
Similar to ^ | Similar to ^ |
FZF_OPEN_COMMAND |
Similar to ^ | Similar to ^ |
FZF_PREVIEW_FILE_CMD |
Modify the command used to generate preview of files. | set -U FZF_PREVIEW_FILE_CMD "head -n 10" |
FZF_PREVIEW_DIR_CMD |
Modify the command used to generate preview of directories. | set -U FZF_PREVIEW_DIR_CMD "ls" |
Variable | Remarks | Example |
---|---|---|
FZF_DEFAULT_OPTS |
Default options passed to every fzf command | set -U FZF_DEFAULT_OPTS "--height 40" |
FZF_FIND_FILE_OPTS |
Pass in additional arguments to the fzf command for find file | set -U FZF_FIND_FILE_OPTS "--reverse --inline-info" |
FZF_CD_OPTS |
Similar to ^ | Similar to ^ |
FZF_CD_WITH_HIDDEN_OPTS |
Similar to ^ | Similar to ^ |
FZF_REVERSE_ISEARCH_OPTS |
Similar to ^ | Similar to ^ |
FZF_OPEN_OPTS |
Similar to ^ | Similar to ^ |
FZF_COMPLETE_OPTS |
Similar to ^ | Similar to ^ |
FZF_TMUX |
Runs a tmux-friendly version of fzf instead. | set -U FZF_TMUX 1 |
FZF_ENABLE_OPEN_PREVIEW |
Enable preview window open command. | set -U FZF_ENABLE_OPEN_PREVIEW 1 |
fzf
Tab CompletionsThis package ships with a fzf
widget for fancy tab completions.
Please see the wiki page for details.
fzf.fish
Wiki page.fzf
utility ships with its own out-of-the-box Fish integration. What sets this package apart is that it has better shell integration, most notably tab completions. They are not compatible so use one or the other.