Ef-🐟-ient fish keybindings for fzf
Integrate fzf (command-line fuzzy finder) functionality into Fish. Includes handy functions to:
cdinto sub-directories
All 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
fzfas 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"(
$dirrepresents 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|
fzfTab Completions
This package ships with a
fzfwidget for fancy tab completions.
Please see the wiki page for details.
fzf.fishhere.
fzfutility 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.