Giter Club home page Giter Club logo

fzf's Introduction

Fzf

Integrate fzf (command-line fuzzy finder) functionality into Fish. Includes handy functions to:

  • complete commands via Tab
  • search command history
  • find and cd into sub-directories
  • find and open files

All functions:

  • are lazily-loaded to keep shell startup time down
  • have configurable key bindings

Installation

System Requirements

Install with Fisher:

fisher install jethrokuan/fzf

Quickstart

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.

Commands

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"

Variables

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 Completions

This package ships with a fzf widget for fancy tab completions.

Please see the wiki page for details.

Alternatives

  • fzf.fish is a newer fzf plugin with very similar features. It lacks Tmux support and fzf tab completion, but includes functions for searching git log, git status, and browsing shell variables using fzf. Additionally, it is more likely to be maintained going forward. You can read more about the differences between it and this plugin in the README of fzf.fish here.
  • The 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.

License

MIT

fzf's People

Contributors

9999years avatar arbuztw avatar asymmetric avatar brettm12345 avatar cariandrum22 avatar carlosdagos avatar cjbassi avatar cormacrelf avatar danielschemmel avatar dfrommi avatar dpayne avatar gpanders avatar itmammoth avatar jethrokuan avatar jingyenloh avatar jojibucaran avatar jorgebucaran avatar junjuew avatar martinpelikan avatar mkazutaka avatar mllg avatar neersighted avatar patrickf1 avatar rominf avatar sergio-u avatar skorokithakis avatar strum355 avatar tchajed avatar vic avatar zeekozhu avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.