<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Shell Integration on Producthunt daily</title>
        <link>https://producthunt.programnotes.cn/en/tags/shell-integration/</link>
        <description>Recent content in Shell Integration on Producthunt daily</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Thu, 10 Jul 2025 15:32:18 +0800</lastBuildDate><atom:link href="https://producthunt.programnotes.cn/en/tags/shell-integration/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>fzf</title>
        <link>https://producthunt.programnotes.cn/en/p/fzf/</link>
        <pubDate>Thu, 10 Jul 2025 15:32:18 +0800</pubDate>
        
        <guid>https://producthunt.programnotes.cn/en/p/fzf/</guid>
        <description>&lt;img src="https://images.unsplash.com/photo-1626976721236-7147c94a4216?ixid=M3w0NjAwMjJ8MHwxfHJhbmRvbXx8fHx8fHx8fDE3NTIxMzI2MjF8&amp;ixlib=rb-4.1.0" alt="Featured image of post fzf" /&gt;&lt;h1 id=&#34;junegunnfzf&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;junegunn/fzf&lt;/a&gt;
&lt;/h1&gt;&lt;div align=&#34;center&#34; markdown=&#34;1&#34;&gt;
   &lt;sup&gt;Special thanks to:&lt;/sup&gt;
   &lt;br&gt;
   &lt;br&gt;
   &lt;a href=&#34;https://www.warp.dev/?utm_source=github&amp;utm_medium=referral&amp;utm_campaign=fzf&#34;&gt;
      &lt;img alt=&#34;Warp sponsorship&#34; width=&#34;400&#34; src=&#34;https://github.com/user-attachments/assets/ab8dd143-b0fd-4904-bdc5-dd7ecac94eae&#34;&gt;
   &lt;/a&gt;
&lt;h3 id=&#34;warp-the-intelligent-terminal-for-developers&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.warp.dev/?utm_source=github&amp;amp;utm_medium=referral&amp;amp;utm_campaign=fzf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Warp, the intelligent terminal for developers&lt;/a&gt;
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://www.warp.dev/?utm_source=github&amp;amp;utm_medium=referral&amp;amp;utm_campaign=fzf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Available for MacOS, Linux, &amp;amp; Windows&lt;/a&gt;&lt;br&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;div align=&#34;center&#34;&gt;
  &lt;img src=&#34;https://raw.githubusercontent.com/junegunn/i/master/fzf-color.png&#34; alt=&#34;fzf - a command-line fuzzy finder&#34;&gt;
  &lt;a href=&#34;https://github.com/junegunn/fzf/actions&#34;&gt;&lt;img src=&#34;https://github.com/junegunn/fzf/actions/workflows/linux.yml/badge.svg?branch=master&#34; alt=&#34;Build Status&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;http://github.com/junegunn/fzf/releases&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/v/tag/junegunn/fzf&#34; alt=&#34;Version&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/junegunn/fzf?tab=MIT-1-ov-file#readme&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/license/junegunn/fzf&#34; alt=&#34;License&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/junegunn/fzf/graphs/contributors&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/contributors/junegunn/fzf&#34; alt=&#34;Contributors&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/sponsors/junegunn&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/sponsors/junegunn&#34; alt=&#34;Sponsors&#34;&gt;&lt;/a&gt;
  &lt;a href=&#34;https://github.com/junegunn/fzf/stargazers&#34;&gt;&lt;img src=&#34;https://img.shields.io/github/stars/junegunn/fzf?style=flat&#34; alt=&#34;Stars&#34;&gt;&lt;/a&gt;
&lt;/div&gt;
&lt;hr&gt;
&lt;p&gt;fzf is a general-purpose command-line fuzzy finder.&lt;/p&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/junegunn/i/master/fzf-preview.png&#34; width=640&gt;
&lt;p&gt;It&amp;rsquo;s an interactive filter program for any kind of list; files, command
history, processes, hostnames, bookmarks, git commits, etc. It implements
a &amp;ldquo;fuzzy&amp;rdquo; matching algorithm, so you can quickly type in patterns with omitted
characters and still get the results you want.&lt;/p&gt;
&lt;h2 id=&#34;highlights&#34;&gt;Highlights
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;📦 &lt;strong&gt;Portable&lt;/strong&gt; — Distributed as a single binary for easy installation&lt;/li&gt;
&lt;li&gt;⚡ &lt;strong&gt;Blazingly fast&lt;/strong&gt; — Highly optimized code instantly processes millions of items&lt;/li&gt;
&lt;li&gt;🛠️ &lt;strong&gt;Extremely versatile&lt;/strong&gt; — Fully customizable via an event-action binding mechanism&lt;/li&gt;
&lt;li&gt;🔋 &lt;strong&gt;Batteries included&lt;/strong&gt; — Includes integration with bash, zsh, fish, Vim, and Neovim&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;table-of-contents&#34;&gt;Table of Contents
&lt;/h2&gt;&lt;!-- vim-markdown-toc GFM --&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#installation&#34; &gt;Installation&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#using-homebrew&#34; &gt;Using Homebrew&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#linux-packages&#34; &gt;Linux packages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#windows-packages&#34; &gt;Windows packages&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#using-git&#34; &gt;Using git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#binary-releases&#34; &gt;Binary releases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#setting-up-shell-integration&#34; &gt;Setting up shell integration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#vimneovim-plugin&#34; &gt;Vim/Neovim plugin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#upgrading-fzf&#34; &gt;Upgrading fzf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#building-fzf&#34; &gt;Building fzf&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#usage&#34; &gt;Usage&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#using-the-finder&#34; &gt;Using the finder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#display-modes&#34; &gt;Display modes&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#--height-mode&#34; &gt;&lt;code&gt;--height&lt;/code&gt; mode&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#--tmux-mode&#34; &gt;&lt;code&gt;--tmux&lt;/code&gt; mode&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#search-syntax&#34; &gt;Search syntax&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#environment-variables&#34; &gt;Environment variables&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#customizing-the-look&#34; &gt;Customizing the look&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#options&#34; &gt;Options&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#demo&#34; &gt;Demo&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#examples&#34; &gt;Examples&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#key-bindings-for-command-line&#34; &gt;Key bindings for command-line&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#fuzzy-completion-for-bash-and-zsh&#34; &gt;Fuzzy completion for bash and zsh&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#files-and-directories&#34; &gt;Files and directories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#process-ids&#34; &gt;Process IDs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#host-names&#34; &gt;Host names&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#environment-variables--aliases&#34; &gt;Environment variables / Aliases&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#customizing-fzf-options-for-completion&#34; &gt;Customizing fzf options for completion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#customizing-completion-source-for-paths-and-directories&#34; &gt;Customizing completion source for paths and directories&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#supported-commands&#34; &gt;Supported commands&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#custom-fuzzy-completion&#34; &gt;Custom fuzzy completion&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#vim-plugin&#34; &gt;Vim plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#advanced-topics&#34; &gt;Advanced topics&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#customizing-for-different-types-of-input&#34; &gt;Customizing for different types of input&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#performance&#34; &gt;Performance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#executing-external-programs&#34; &gt;Executing external programs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#turning-into-a-different-process&#34; &gt;Turning into a different process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#reloading-the-candidate-list&#34; &gt;Reloading the candidate list&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#1-update-the-list-of-processes-by-pressing-ctrl-r&#34; &gt;1. Update the list of processes by pressing CTRL-R&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#2-switch-between-sources-by-pressing-ctrl-d-or-ctrl-f&#34; &gt;2. Switch between sources by pressing CTRL-D or CTRL-F&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#3-interactive-ripgrep-integration&#34; &gt;3. Interactive ripgrep integration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#preview-window&#34; &gt;Preview window&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#previewing-an-image&#34; &gt;Previewing an image&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#tips&#34; &gt;Tips&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#respecting-gitignore&#34; &gt;Respecting &lt;code&gt;.gitignore&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#fish-shell&#34; &gt;Fish shell&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#fzf-theme-playground&#34; &gt;fzf Theme Playground&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#related-projects&#34; &gt;Related projects&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#license&#34; &gt;License&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;#sponsors-heart&#34; &gt;Sponsors :heart:&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- vim-markdown-toc --&gt;
&lt;h2 id=&#34;installation&#34;&gt;Installation
&lt;/h2&gt;&lt;h3 id=&#34;using-homebrew&#34;&gt;Using Homebrew
&lt;/h3&gt;&lt;p&gt;You can use &lt;a class=&#34;link&#34; href=&#34;https://brew.sh/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Homebrew&lt;/a&gt; (on macOS or Linux) to install fzf.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install fzf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;[!IMPORTANT]
To set up shell integration (key bindings and fuzzy completion),
see &lt;a class=&#34;link&#34; href=&#34;#setting-up-shell-integration&#34; &gt;the instructions below&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;fzf is also available &lt;a class=&#34;link&#34; href=&#34;https://github.com/macports/macports-ports/blob/master/sysutils/fzf/Portfile&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;via MacPorts&lt;/a&gt;: &lt;code&gt;sudo port install fzf&lt;/code&gt;&lt;/p&gt;
&lt;h3 id=&#34;linux-packages&#34;&gt;Linux packages
&lt;/h3&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Package Manager&lt;/th&gt;
          &lt;th&gt;Linux Distribution&lt;/th&gt;
          &lt;th&gt;Command&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;APK&lt;/td&gt;
          &lt;td&gt;Alpine Linux&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;sudo apk add fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;APT&lt;/td&gt;
          &lt;td&gt;Debian 9+/Ubuntu 19.10+&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;sudo apt install fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Conda&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;conda install -c conda-forge fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DNF&lt;/td&gt;
          &lt;td&gt;Fedora&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;sudo dnf install fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Nix&lt;/td&gt;
          &lt;td&gt;NixOS, etc.&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;nix-env -iA nixpkgs.fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Pacman&lt;/td&gt;
          &lt;td&gt;Arch Linux&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;sudo pacman -S fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;pkg&lt;/td&gt;
          &lt;td&gt;FreeBSD&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;pkg install fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;pkgin&lt;/td&gt;
          &lt;td&gt;NetBSD&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;pkgin install fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;pkg_add&lt;/td&gt;
          &lt;td&gt;OpenBSD&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;pkg_add fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Portage&lt;/td&gt;
          &lt;td&gt;Gentoo&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;emerge --ask app-shells/fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Spack&lt;/td&gt;
          &lt;td&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;spack install fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;XBPS&lt;/td&gt;
          &lt;td&gt;Void Linux&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;sudo xbps-install -S fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Zypper&lt;/td&gt;
          &lt;td&gt;openSUSE&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;sudo zypper install fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;[!IMPORTANT]
To set up shell integration (key bindings and fuzzy completion),
see &lt;a class=&#34;link&#34; href=&#34;#setting-up-shell-integration&#34; &gt;the instructions below&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://repology.org/project/fzf/versions&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://repology.org/badge/vertical-allrepos/fzf.svg?columns=3&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;Packaging status&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3 id=&#34;windows-packages&#34;&gt;Windows packages
&lt;/h3&gt;&lt;p&gt;On Windows, fzf is available via &lt;a class=&#34;link&#34; href=&#34;https://chocolatey.org/packages/fzf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Chocolatey&lt;/a&gt;, &lt;a class=&#34;link&#34; href=&#34;https://github.com/ScoopInstaller/Main/blob/master/bucket/fzf.json&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Scoop&lt;/a&gt;,
&lt;a class=&#34;link&#34; href=&#34;https://github.com/microsoft/winget-pkgs/tree/master/manifests/j/junegunn/fzf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Winget&lt;/a&gt;, and &lt;a class=&#34;link&#34; href=&#34;https://packages.msys2.org/base/mingw-w64-fzf&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;MSYS2&lt;/a&gt;:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Package manager&lt;/th&gt;
          &lt;th&gt;Command&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Chocolatey&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;choco install fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Scoop&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;scoop install fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Winget&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;winget install fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;MSYS2 (pacman)&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;pacman -S $MINGW_PACKAGE_PREFIX-fzf&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id=&#34;using-git&#34;&gt;Using git
&lt;/h3&gt;&lt;p&gt;Alternatively, you can &amp;ldquo;git clone&amp;rdquo; this repository to any directory and run
&lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf/blob/master/install&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;install&lt;/a&gt; script.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git clone --depth &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; https://github.com/junegunn/fzf.git ~/.fzf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~/.fzf/install
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;The install script will add lines to your shell configuration file to modify
&lt;code&gt;$PATH&lt;/code&gt; and set up shell integration.&lt;/p&gt;
&lt;h3 id=&#34;binary-releases&#34;&gt;Binary releases
&lt;/h3&gt;&lt;p&gt;You can download the official fzf binaries from the releases page.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf/releases&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/junegunn/fzf/releases&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;setting-up-shell-integration&#34;&gt;Setting up shell integration
&lt;/h3&gt;&lt;p&gt;Add the following line to your shell configuration file.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;bash
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set up fzf key bindings and fuzzy completion&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;eval&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;fzf --bash&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;zsh
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Set up fzf key bindings and fuzzy completion&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; &amp;lt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;fzf --zsh&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;fish
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fish&#34; data-lang=&#34;fish&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c&#34;&gt;# Set up fzf key bindings
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nf&#34;&gt;fzf&lt;/span&gt; &lt;span class=&#34;na&#34;&gt;--fish&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;[!NOTE]
&lt;code&gt;--bash&lt;/code&gt;, &lt;code&gt;--zsh&lt;/code&gt;, and &lt;code&gt;--fish&lt;/code&gt; options are only available in fzf 0.48.0 or
later. If you have an older version of fzf, or want finer control, you can
source individual script files in the &lt;a class=&#34;link&#34; href=&#34;https://producthunt.programnotes.cn/shell&#34; &gt;/shell&lt;/a&gt; directory. The
location of the files may vary depending on the package manager you use.
Please refer to the package documentation for more information.
(e.g. &lt;code&gt;apt show fzf&lt;/code&gt;)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
You can disable CTRL-T or ALT-C binding by setting &lt;code&gt;FZF_CTRL_T_COMMAND&lt;/code&gt; or
&lt;code&gt;FZF_ALT_C_COMMAND&lt;/code&gt; to an empty string when sourcing the script.
For example, to disable ALT-C binding:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;bash: &lt;code&gt;FZF_ALT_C_COMMAND= eval &amp;quot;$(fzf --bash)&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;zsh: &lt;code&gt;FZF_ALT_C_COMMAND= source &amp;lt;(fzf --zsh)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;fish: &lt;code&gt;fzf --fish | FZF_ALT_C_COMMAND= source&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Setting the variables after sourcing the script will have no effect.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;vimneovim-plugin&#34;&gt;Vim/Neovim plugin
&lt;/h3&gt;&lt;p&gt;If you use &lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/vim-plug&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;vim-plug&lt;/a&gt;, add this to
your Vim configuration file:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-vim&#34; data-lang=&#34;vim&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;Plug&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;junegunn/fzf&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; { &lt;span class=&#34;s1&#34;&gt;&amp;#39;do&amp;#39;&lt;/span&gt;: { &lt;span class=&#34;p&#34;&gt;-&amp;gt;&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;fzf&lt;/span&gt;#&lt;span class=&#34;nx&#34;&gt;install&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;()&lt;/span&gt; } }
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;Plug&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;junegunn/fzf.vim&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;junegunn/fzf&lt;/code&gt; provides the basic library functions
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;fzf#install()&lt;/code&gt; makes sure that you have the latest binary&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;junegunn/fzf.vim&lt;/code&gt; is &lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf.vim&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;a separate project&lt;/a&gt;
that provides a variety of useful commands&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To learn more about the Vim integration, see &lt;a class=&#34;link&#34; href=&#34;README-VIM.md&#34; &gt;README-VIM.md&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
If you use Neovim and prefer Lua-based plugins, check out
&lt;a class=&#34;link&#34; href=&#34;https://github.com/ibhagwan/fzf-lua&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fzf-lua&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id=&#34;upgrading-fzf&#34;&gt;Upgrading fzf
&lt;/h2&gt;&lt;p&gt;fzf is being actively developed, and you might want to upgrade it once in a
while. Please follow the instruction below depending on the installation
method used.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;git: &lt;code&gt;cd ~/.fzf &amp;amp;&amp;amp; git pull &amp;amp;&amp;amp; ./install&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;brew: &lt;code&gt;brew update; brew upgrade fzf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;macports: &lt;code&gt;sudo port upgrade fzf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;chocolatey: &lt;code&gt;choco upgrade fzf&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;vim-plug: &lt;code&gt;:PlugUpdate fzf&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;building-fzf&#34;&gt;Building fzf
&lt;/h2&gt;&lt;p&gt;See &lt;a class=&#34;link&#34; href=&#34;BUILD.md&#34; &gt;BUILD.md&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;usage&#34;&gt;Usage
&lt;/h2&gt;&lt;p&gt;fzf will launch interactive finder, read the list from STDIN, and write the
selected item to STDOUT.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;find * -type f &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf &amp;gt; selected
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Without STDIN pipe, fzf will traverse the file system under the current
directory to get the list of files.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim &lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;fzf&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;[!NOTE]
You can override the default behavior&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Either by setting &lt;code&gt;$FZF_DEFAULT_COMMAND&lt;/code&gt; to a command that generates the desired list&lt;/li&gt;
&lt;li&gt;Or by setting &lt;code&gt;--walker&lt;/code&gt;, &lt;code&gt;--walker-root&lt;/code&gt;, and &lt;code&gt;--walker-skip&lt;/code&gt; options in &lt;code&gt;$FZF_DEFAULT_OPTS&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
A more robust solution would be to use &lt;code&gt;xargs&lt;/code&gt; but we&amp;rsquo;ve presented
the above as it&amp;rsquo;s easier to grasp&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --print0 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; xargs -0 -o vim
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
fzf also has the ability to turn itself into a different process.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;enter:become(vim {})&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;em&gt;See &lt;a class=&#34;link&#34; href=&#34;#turning-into-a-different-process&#34; &gt;Turning into a different process&lt;/a&gt;
for more information.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;using-the-finder&#34;&gt;Using the finder
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CTRL-K&lt;/code&gt; / &lt;code&gt;CTRL-J&lt;/code&gt; (or &lt;code&gt;CTRL-P&lt;/code&gt; / &lt;code&gt;CTRL-N&lt;/code&gt;) to move cursor up and down&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Enter&lt;/code&gt; key to select the item, &lt;code&gt;CTRL-C&lt;/code&gt; / &lt;code&gt;CTRL-G&lt;/code&gt; / &lt;code&gt;ESC&lt;/code&gt; to exit&lt;/li&gt;
&lt;li&gt;On multi-select mode (&lt;code&gt;-m&lt;/code&gt;), &lt;code&gt;TAB&lt;/code&gt; and &lt;code&gt;Shift-TAB&lt;/code&gt; to mark multiple items&lt;/li&gt;
&lt;li&gt;Emacs style key bindings&lt;/li&gt;
&lt;li&gt;Mouse: scroll, click, double-click; shift-click and shift-scroll on
multi-select mode&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;display-modes&#34;&gt;Display modes
&lt;/h3&gt;&lt;p&gt;fzf by default runs in fullscreen mode, but there are other display modes.&lt;/p&gt;
&lt;h4 id=&#34;--height-mode&#34;&gt;&lt;code&gt;--height&lt;/code&gt; mode
&lt;/h4&gt;&lt;p&gt;With &lt;code&gt;--height HEIGHT[%]&lt;/code&gt;, fzf will start below the cursor with the given height.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --height 40%
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;reverse&lt;/code&gt; layout and &lt;code&gt;--border&lt;/code&gt; goes well with this option.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --height 40% --layout reverse --border
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;By prepending &lt;code&gt;~&lt;/code&gt; to the height, you&amp;rsquo;re setting the maximum height.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Will take as few lines as possible to display the list&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;seq &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf --height ~100%
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;seq &lt;span class=&#34;m&#34;&gt;3000&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf --height ~100%
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Height value can be a negative number.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Screen height - 3&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --height -3
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;--tmux-mode&#34;&gt;&lt;code&gt;--tmux&lt;/code&gt; mode
&lt;/h4&gt;&lt;p&gt;With &lt;code&gt;--tmux&lt;/code&gt; option, fzf will start in a tmux popup.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# --tmux [center|top|bottom|left|right][,SIZE[%]][,SIZE[%][,border-native]]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --tmux center         &lt;span class=&#34;c1&#34;&gt;# Center, 50% width and height&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --tmux 80%            &lt;span class=&#34;c1&#34;&gt;# Center, 80% width and height&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --tmux 100%,50%       &lt;span class=&#34;c1&#34;&gt;# Center, 100% width and 50% height&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --tmux left,40%       &lt;span class=&#34;c1&#34;&gt;# Left, 40% width&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --tmux left,40%,90%   &lt;span class=&#34;c1&#34;&gt;# Left, 40% width, 90% height&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --tmux top,40%        &lt;span class=&#34;c1&#34;&gt;# Top, 40% height&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --tmux bottom,80%,40% &lt;span class=&#34;c1&#34;&gt;# Bottom, 80% height, 40% height&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;&lt;code&gt;--tmux&lt;/code&gt; is silently ignored when you&amp;rsquo;re not on tmux.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!NOTE]
If you&amp;rsquo;re stuck with an old version of tmux that doesn&amp;rsquo;t support popup,
or if you want to open fzf in a regular tmux pane, check out
&lt;a class=&#34;link&#34; href=&#34;bin/fzf-tmux&#34; &gt;fzf-tmux&lt;/a&gt; script.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;[!TIP]
You can add these options to &lt;code&gt;$FZF_DEFAULT_OPTS&lt;/code&gt; so that they&amp;rsquo;re applied by
default. For example,&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Open in tmux popup if on tmux, otherwise use --height mode&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_DEFAULT_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;--height 40% --tmux bottom,40% --layout reverse --border top&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;search-syntax&#34;&gt;Search syntax
&lt;/h3&gt;&lt;p&gt;Unless otherwise specified, fzf starts in &amp;ldquo;extended-search mode&amp;rdquo; where you can
type in multiple search terms delimited by spaces. e.g. &lt;code&gt;^music .mp3$ sbtrkt !fire&lt;/code&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Token&lt;/th&gt;
          &lt;th&gt;Match type&lt;/th&gt;
          &lt;th&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;sbtrkt&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;fuzzy-match&lt;/td&gt;
          &lt;td&gt;Items that match &lt;code&gt;sbtrkt&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;&#39;wild&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;exact-match (quoted)&lt;/td&gt;
          &lt;td&gt;Items that include &lt;code&gt;wild&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;&#39;wild&#39;&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;exact-boundary-match (quoted both ends)&lt;/td&gt;
          &lt;td&gt;Items that include &lt;code&gt;wild&lt;/code&gt; at word boundaries&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;^music&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;prefix-exact-match&lt;/td&gt;
          &lt;td&gt;Items that start with &lt;code&gt;music&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;.mp3$&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;suffix-exact-match&lt;/td&gt;
          &lt;td&gt;Items that end with &lt;code&gt;.mp3&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;!fire&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;inverse-exact-match&lt;/td&gt;
          &lt;td&gt;Items that do not include &lt;code&gt;fire&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;!^music&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;inverse-prefix-exact-match&lt;/td&gt;
          &lt;td&gt;Items that do not start with &lt;code&gt;music&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;!.mp3$&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;inverse-suffix-exact-match&lt;/td&gt;
          &lt;td&gt;Items that do not end with &lt;code&gt;.mp3&lt;/code&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;If you don&amp;rsquo;t prefer fuzzy matching and do not wish to &amp;ldquo;quote&amp;rdquo; every word,
start fzf with &lt;code&gt;-e&lt;/code&gt; or &lt;code&gt;--exact&lt;/code&gt; option. Note that when  &lt;code&gt;--exact&lt;/code&gt; is set,
&lt;code&gt;&#39;&lt;/code&gt;-prefix &amp;ldquo;unquotes&amp;rdquo; the term.&lt;/p&gt;
&lt;p&gt;A single bar character term acts as an OR operator. For example, the following
query matches entries that start with &lt;code&gt;core&lt;/code&gt; and end with either &lt;code&gt;go&lt;/code&gt;, &lt;code&gt;rb&lt;/code&gt;,
or &lt;code&gt;py&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-fallback&#34; data-lang=&#34;fallback&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;^core go$ | rb$ | py$
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;environment-variables&#34;&gt;Environment variables
&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;FZF_DEFAULT_COMMAND&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;Default command to use when input is tty&lt;/li&gt;
&lt;li&gt;e.g. &lt;code&gt;export FZF_DEFAULT_COMMAND=&#39;fd --type f&#39;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FZF_DEFAULT_OPTS&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;Default options&lt;/li&gt;
&lt;li&gt;e.g. &lt;code&gt;export FZF_DEFAULT_OPTS=&amp;quot;--layout=reverse --inline-info&amp;quot;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;FZF_DEFAULT_OPTS_FILE&lt;/code&gt;
&lt;ul&gt;
&lt;li&gt;If you prefer to manage default options in a file, set this variable to
point to the location of the file&lt;/li&gt;
&lt;li&gt;e.g. &lt;code&gt;export FZF_DEFAULT_OPTS_FILE=~/.fzfrc&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
&lt;code&gt;FZF_DEFAULT_COMMAND&lt;/code&gt; is not used by shell integration due to the
slight difference in requirements.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CTRL-T&lt;/code&gt; runs &lt;code&gt;$FZF_CTRL_T_COMMAND&lt;/code&gt; to get a list of files and directories&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ALT-C&lt;/code&gt; runs &lt;code&gt;$FZF_ALT_C_COMMAND&lt;/code&gt; to get a list of directories&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vim ~/**&amp;lt;tab&amp;gt;&lt;/code&gt; runs &lt;code&gt;fzf_compgen_path()&lt;/code&gt; with the prefix (&lt;code&gt;~/&lt;/code&gt;) as the first argument&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cd foo**&amp;lt;tab&amp;gt;&lt;/code&gt; runs &lt;code&gt;fzf_compgen_dir()&lt;/code&gt; with the prefix (&lt;code&gt;foo&lt;/code&gt;) as the first argument&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The available options are described later in this document.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h3 id=&#34;customizing-the-look&#34;&gt;Customizing the look
&lt;/h3&gt;&lt;p&gt;The user interface of fzf is fully customizable with a large number of
configuration options. For a quick setup, you can start with one of the style
presets — &lt;code&gt;default&lt;/code&gt;, &lt;code&gt;full&lt;/code&gt;, or &lt;code&gt;minimal&lt;/code&gt; — using the &lt;code&gt;--style&lt;/code&gt; option.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --style full &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;fzf-preview.sh {}&amp;#39;&lt;/span&gt; --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;focus:transform-header:file --brief {}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;Preset&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;Screenshot&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;default&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;img src=&#34;https://raw.githubusercontent.com/junegunn/i/master/fzf-style-default.png&#34;/&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;full&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;img src=&#34;https://raw.githubusercontent.com/junegunn/i/master/fzf-style-full.png&#34;/&gt;&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;minimal&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;img src=&#34;https://raw.githubusercontent.com/junegunn/i/master/fzf-style-minimal.png&#34;/&gt;&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Here&amp;rsquo;s an example based on the &lt;code&gt;full&lt;/code&gt; preset:&lt;/p&gt;
&lt;img src=&#34;https://raw.githubusercontent.com/junegunn/i/master/fzf-4-borders.png&#34;/&gt;
&lt;details&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git ls-files &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf --style full &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --border --padding 1,2 &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --border-label &lt;span class=&#34;s1&#34;&gt;&amp;#39; Demo &amp;#39;&lt;/span&gt; --input-label &lt;span class=&#34;s1&#34;&gt;&amp;#39; Input &amp;#39;&lt;/span&gt; --header-label &lt;span class=&#34;s1&#34;&gt;&amp;#39; File Type &amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;fzf-preview.sh {}&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;result:transform-list-label:
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        if [[ -z $FZF_QUERY ]]; then
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;          echo &amp;#34; $FZF_MATCH_COUNT items &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        else
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;          echo &amp;#34; $FZF_MATCH_COUNT matches for [$FZF_QUERY] &amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        fi
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s1&#34;&gt;        &amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;focus:transform-preview-label:[[ -n {} ]] &amp;amp;&amp;amp; printf &amp;#34; Previewing [%s] &amp;#34; {}&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;focus:+transform-header:file --brief {} || echo &amp;#34;No file selected&amp;#34;&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;ctrl-r:change-list-label( Reloading the list )+reload(sleep 2; git ls-files)&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --color &lt;span class=&#34;s1&#34;&gt;&amp;#39;border:#aaaaaa,label:#cccccc&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --color &lt;span class=&#34;s1&#34;&gt;&amp;#39;preview-border:#9999cc,preview-label:#ccccff&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --color &lt;span class=&#34;s1&#34;&gt;&amp;#39;list-border:#669966,list-label:#99cc99&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --color &lt;span class=&#34;s1&#34;&gt;&amp;#39;input-border:#996666,input-label:#ffcccc&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --color &lt;span class=&#34;s1&#34;&gt;&amp;#39;header-border:#6699cc,header-label:#99ccff&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/details&gt;
&lt;h3 id=&#34;options&#34;&gt;Options
&lt;/h3&gt;&lt;p&gt;See the man page (&lt;code&gt;fzf --man&lt;/code&gt; or &lt;code&gt;man fzf&lt;/code&gt;) for the full list of options.&lt;/p&gt;
&lt;h3 id=&#34;demo&#34;&gt;Demo
&lt;/h3&gt;&lt;p&gt;If you learn by watching videos, check out this screencast by &lt;a class=&#34;link&#34; href=&#34;https://github.com/samoshkin&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;@samoshkin&lt;/a&gt; to explore &lt;code&gt;fzf&lt;/code&gt; features.&lt;/p&gt;
&lt;a title=&#34;fzf - command-line fuzzy finder&#34; href=&#34;https://www.youtube.com/watch?v=qgG5Jhi_Els&#34;&gt;
  &lt;img src=&#34;https://i.imgur.com/vtG8olE.png&#34; width=&#34;640&#34;&gt;
&lt;/a&gt;
&lt;h2 id=&#34;examples&#34;&gt;Examples
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf/wiki/examples&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Wiki page of examples&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Disclaimer: The examples on this page are maintained by the community
and are not thoroughly tested&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf/blob/master/ADVANCED.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Advanced fzf examples&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;key-bindings-for-command-line&#34;&gt;Key bindings for command-line
&lt;/h2&gt;&lt;p&gt;By &lt;a class=&#34;link&#34; href=&#34;#setting-up-shell-integration&#34; &gt;setting up shell integration&lt;/a&gt;, you can use
the following key bindings in bash, zsh, and fish.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CTRL-T&lt;/code&gt; - Paste the selected files and directories onto the command-line
&lt;ul&gt;
&lt;li&gt;The list is generated using &lt;code&gt;--walker file,dir,follow,hidden&lt;/code&gt; option
&lt;ul&gt;
&lt;li&gt;You can override the behavior by setting &lt;code&gt;FZF_CTRL_T_COMMAND&lt;/code&gt; to a custom command that generates the desired list&lt;/li&gt;
&lt;li&gt;Or you can set &lt;code&gt;--walker*&lt;/code&gt; options in &lt;code&gt;FZF_CTRL_T_OPTS&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;FZF_CTRL_T_OPTS&lt;/code&gt; to pass additional options to fzf
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Preview file content using bat (https://github.com/sharkdp/bat)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_CTRL_T_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  --walker-skip .git,node_modules,target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  --preview &amp;#39;bat -n --color=always {}&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  --bind &amp;#39;ctrl-/:change-preview-window(down|hidden|)&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Can be disabled by setting &lt;code&gt;FZF_CTRL_T_COMMAND&lt;/code&gt; to an empty string when
sourcing the script&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;CTRL-R&lt;/code&gt; - Paste the selected command from history onto the command-line
&lt;ul&gt;
&lt;li&gt;If you want to see the commands in chronological order, press &lt;code&gt;CTRL-R&lt;/code&gt;
again which toggles sorting by relevance&lt;/li&gt;
&lt;li&gt;Press &lt;code&gt;CTRL-/&lt;/code&gt; or &lt;code&gt;ALT-/&lt;/code&gt; to toggle line wrapping&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;FZF_CTRL_R_OPTS&lt;/code&gt; to pass additional options to fzf
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# CTRL-Y to copy the command into clipboard using pbcopy&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_CTRL_R_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  --bind &amp;#39;ctrl-y:execute-silent(echo -n {2..} | pbcopy)+abort&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  --color header:italic
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  --header &amp;#39;Press CTRL-Y to copy command into clipboard&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ALT-C&lt;/code&gt; - cd into the selected directory
&lt;ul&gt;
&lt;li&gt;The list is generated using &lt;code&gt;--walker dir,follow,hidden&lt;/code&gt; option&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;FZF_ALT_C_COMMAND&lt;/code&gt; to override the default command
&lt;ul&gt;
&lt;li&gt;Or you can set &lt;code&gt;--walker-*&lt;/code&gt; options in &lt;code&gt;FZF_ALT_C_OPTS&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;FZF_ALT_C_OPTS&lt;/code&gt; to pass additional options to fzf
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Print tree structure in the preview window&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_ALT_C_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  --walker-skip .git,node_modules,target
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;  --preview &amp;#39;tree -C {}&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;li&gt;Can be disabled by setting &lt;code&gt;FZF_ALT_C_COMMAND&lt;/code&gt; to an empty string when
sourcing the script&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Display modes for these bindings can be separately configured via
&lt;code&gt;FZF_{CTRL_T,CTRL_R,ALT_C}_OPTS&lt;/code&gt; or globally via &lt;code&gt;FZF_DEFAULT_OPTS&lt;/code&gt;.
(e.g. &lt;code&gt;FZF_CTRL_R_OPTS=&#39;--tmux bottom,60% --height 60% --border top&#39;&lt;/code&gt;)&lt;/p&gt;
&lt;p&gt;More tips can be found on &lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf/wiki/Configuring-shell-key-bindings&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;the wiki page&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;fuzzy-completion-for-bash-and-zsh&#34;&gt;Fuzzy completion for bash and zsh
&lt;/h2&gt;&lt;h3 id=&#34;files-and-directories&#34;&gt;Files and directories
&lt;/h3&gt;&lt;p&gt;Fuzzy completion for files and directories can be triggered if the word before
the cursor ends with the trigger sequence, which is by default &lt;code&gt;**&lt;/code&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;COMMAND [DIRECTORY/][FUZZY_PATTERN]**&amp;lt;TAB&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Files under the current directory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# - You can select multiple items with TAB key&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim **&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Files under parent directory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim ../**&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Files under parent directory that match `fzf`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim ../fzf**&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Files under your home directory&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vim ~/**&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Directories under current directory (single-selection)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; **&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Directories under ~/github that match `fzf`&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; ~/github/fzf**&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;process-ids&#34;&gt;Process IDs
&lt;/h3&gt;&lt;p&gt;Fuzzy completion for PIDs is provided for kill command.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Can select multiple processes with &amp;lt;TAB&amp;gt; or &amp;lt;Shift-TAB&amp;gt; keys&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;kill&lt;/span&gt; -9 **&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;host-names&#34;&gt;Host names
&lt;/h3&gt;&lt;p&gt;For ssh and telnet commands, fuzzy completion for hostnames is provided. The
names are extracted from /etc/hosts and ~/.ssh/config.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ssh **&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;telnet **&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;environment-variables--aliases&#34;&gt;Environment variables / Aliases
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;unset&lt;/span&gt; **&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; **&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;unalias&lt;/span&gt; **&amp;lt;TAB&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;customizing-fzf-options-for-completion&#34;&gt;Customizing fzf options for completion
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Use ~~ as the trigger sequence instead of the default **&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_COMPLETION_TRIGGER&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;~~&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Options to fzf command&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_COMPLETION_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;--border --info=inline&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Options for path completion (e.g. vim **&amp;lt;TAB&amp;gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_COMPLETION_PATH_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;--walker file,dir,follow,hidden&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Options for directory completion (e.g. cd **&amp;lt;TAB&amp;gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_COMPLETION_DIR_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;--walker dir,follow&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Advanced customization of fzf options via _fzf_comprun function&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# - The first argument to the function is the name of the command.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# - You should make sure to pass the rest of the arguments ($@) to fzf.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;_fzf_comprun&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;local&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;command&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nb&#34;&gt;shift&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;case&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$command&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; in
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;           fzf --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;tree -C {} | head -200&amp;#39;&lt;/span&gt;   &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    export&lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;&lt;span class=&#34;nb&#34;&gt;unset&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; fzf --preview &lt;span class=&#34;s2&#34;&gt;&amp;#34;eval &amp;#39;echo \$&amp;#39;{}&amp;#34;&lt;/span&gt;         &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ssh&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;          fzf --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;dig {}&amp;#39;&lt;/span&gt;                   &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    *&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;            fzf --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;bat -n --color=always {}&amp;#39;&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;esac&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;customizing-completion-source-for-paths-and-directories&#34;&gt;Customizing completion source for paths and directories
&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Use fd (https://github.com/sharkdp/fd) for listing path candidates.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# - The first argument to the function ($1) is the base path to start traversal&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# - See the source code (completion.{bash,zsh}) for the details.&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;_fzf_compgen_path&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  fd --hidden --follow --exclude &lt;span class=&#34;s2&#34;&gt;&amp;#34;.git&amp;#34;&lt;/span&gt; . &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Use fd to generate the list for directory completion&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;_fzf_compgen_dir&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  fd --type d --hidden --follow --exclude &lt;span class=&#34;s2&#34;&gt;&amp;#34;.git&amp;#34;&lt;/span&gt; . &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$1&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;supported-commands&#34;&gt;Supported commands
&lt;/h3&gt;&lt;p&gt;On bash, fuzzy completion is enabled only for a predefined set of commands
(&lt;code&gt;complete | grep _fzf&lt;/code&gt; to see the list). But you can enable it for other
commands as well by using &lt;code&gt;_fzf_setup_completion&lt;/code&gt; helper function.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# usage: _fzf_setup_completion path|dir|var|alias|host COMMANDS...&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;_fzf_setup_completion path ag git kubectl
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;_fzf_setup_completion dir tree
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;custom-fuzzy-completion&#34;&gt;Custom fuzzy completion
&lt;/h3&gt;&lt;p&gt;&lt;em&gt;&lt;strong&gt;(Custom completion API is experimental and subject to change)&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;For a command named &lt;em&gt;&amp;ldquo;COMMAND&amp;rdquo;&lt;/em&gt;, define &lt;code&gt;_fzf_complete_COMMAND&lt;/code&gt; function using
&lt;code&gt;_fzf_complete&lt;/code&gt; helper.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Custom fuzzy completion for &amp;#34;doge&amp;#34; command&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#   e.g. doge **&amp;lt;TAB&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;_fzf_complete_doge&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  _fzf_complete --multi --reverse --prompt&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;doge&amp;gt; &amp;#34;&lt;/span&gt; -- &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &amp;lt; &amp;lt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; very
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; wow
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; such
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; doge
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;The arguments before &lt;code&gt;--&lt;/code&gt; are the options to fzf.&lt;/li&gt;
&lt;li&gt;After &lt;code&gt;--&lt;/code&gt;, simply pass the original completion arguments unchanged (&lt;code&gt;&amp;quot;$@&amp;quot;&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Then, write a set of commands that generates the completion candidates and
feed its output to the function using process substitution (&lt;code&gt;&amp;lt; &amp;lt;(...)&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;zsh will automatically pick up the function using the naming convention but in
bash you have to manually associate the function with the command using the
&lt;code&gt;complete&lt;/code&gt; command.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; -n &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$BASH&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;complete&lt;/span&gt; -F _fzf_complete_doge -o default -o bashdefault doge
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you need to post-process the output from fzf, define
&lt;code&gt;_fzf_complete_COMMAND_post&lt;/code&gt; as follows.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;_fzf_complete_foo&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  _fzf_complete --multi --reverse --header-lines&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; -- &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$@&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &amp;lt; &amp;lt;&lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    ls -al
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;o&#34;&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;_fzf_complete_foo_post&lt;span class=&#34;o&#34;&gt;()&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  awk &lt;span class=&#34;s1&#34;&gt;&amp;#39;{print $NF}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt; -n &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$BASH&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&#34;nb&#34;&gt;complete&lt;/span&gt; -F _fzf_complete_foo -o default -o bashdefault foo
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;vim-plugin&#34;&gt;Vim plugin
&lt;/h2&gt;&lt;p&gt;See &lt;a class=&#34;link&#34; href=&#34;README-VIM.md&#34; &gt;README-VIM.md&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;advanced-topics&#34;&gt;Advanced topics
&lt;/h2&gt;&lt;h3 id=&#34;customizing-for-different-types-of-input&#34;&gt;Customizing for different types of input
&lt;/h3&gt;&lt;p&gt;Since fzf is a general-purpose text filter, its algorithm was designed to
&amp;ldquo;generally&amp;rdquo; work well with any kind of input. However, admittedly, there is no
true one-size-fits-all solution, and you may want to tweak the algorithm and
some of the settings depending on the type of the input. To make this process
easier, fzf provides a set of &amp;ldquo;scheme&amp;quot;s for some common input types.&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;Scheme&lt;/th&gt;
          &lt;th style=&#34;text-align: left&#34;&gt;Description&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;--scheme=default&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Generic scheme designed to work well with any kind of input&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;--scheme=path&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Suitable for file paths&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;&lt;code&gt;--scheme=history&lt;/code&gt;&lt;/td&gt;
          &lt;td style=&#34;text-align: left&#34;&gt;Suitable for command history or any input where chronological ordering is important&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;(See &lt;code&gt;fzf --man&lt;/code&gt; for the details)&lt;/p&gt;
&lt;h3 id=&#34;performance&#34;&gt;Performance
&lt;/h3&gt;&lt;p&gt;fzf is fast. Performance should not be a problem in most use cases. However,
you might want to be aware of the options that can affect performance.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;--ansi&lt;/code&gt; tells fzf to extract and parse ANSI color codes in the input, and it
makes the initial scanning slower. So it&amp;rsquo;s not recommended that you add it
to your &lt;code&gt;$FZF_DEFAULT_OPTS&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--nth&lt;/code&gt; makes fzf slower because it has to tokenize each line.&lt;/li&gt;
&lt;li&gt;A plain string &lt;code&gt;--delimiter&lt;/code&gt; should be preferred over a regular expression
delimiter.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;--with-nth&lt;/code&gt; makes fzf slower as fzf has to tokenize and reassemble each
line.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;executing-external-programs&#34;&gt;Executing external programs
&lt;/h3&gt;&lt;p&gt;You can set up key bindings for starting external processes without leaving
fzf (&lt;code&gt;execute&lt;/code&gt;, &lt;code&gt;execute-silent&lt;/code&gt;).&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Press F1 to open the file with less without leaving fzf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Press CTRL-Y to copy the line to clipboard and aborts fzf (requires pbcopy)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;f1:execute(less -f {}),ctrl-y:execute-silent(echo {} | pbcopy)+abort&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;See &lt;em&gt;KEY/EVENT BINDINGS&lt;/em&gt; section of the man page for details.&lt;/p&gt;
&lt;h3 id=&#34;turning-into-a-different-process&#34;&gt;Turning into a different process
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;become(...)&lt;/code&gt; is similar to &lt;code&gt;execute(...)&lt;/code&gt;/&lt;code&gt;execute-silent(...)&lt;/code&gt; described
above, but instead of executing the command and coming back to fzf on
complete, it turns fzf into a new process for the command.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;enter:become(vim {})&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Compared to the seemingly equivalent command substitution &lt;code&gt;vim &amp;quot;$(fzf)&amp;quot;&lt;/code&gt;, this
approach has several advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vim will not open an empty file when you terminate fzf with
&lt;kbd&gt;CTRL-C&lt;/kbd&gt;&lt;/li&gt;
&lt;li&gt;Vim will not open an empty file when you press &lt;kbd&gt;ENTER&lt;/kbd&gt; on an empty
result&lt;/li&gt;
&lt;li&gt;Can handle multiple selections even when they have whitespaces
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --multi --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;enter:become(vim {+})&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To be fair, running &lt;code&gt;fzf --print0 | xargs -0 -o vim&lt;/code&gt; instead of &lt;code&gt;vim &amp;quot;$(fzf)&amp;quot;&lt;/code&gt;
resolves all of the issues mentioned. Nonetheless, &lt;code&gt;become(...)&lt;/code&gt; still offers
additional benefits in different scenarios.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can set up multiple bindings to handle the result in different ways
without any wrapping script
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;enter:become(vim {}),ctrl-e:become(emacs {})&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;Previously, you would have to use &lt;code&gt;--expect=ctrl-e&lt;/code&gt; and check the first
line of the output of fzf&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;You can easily build the subsequent command using the field index
expressions of fzf
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Open the file in Vim and go to the line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git grep --line-number . &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    fzf --delimiter : --nth 3.. --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;enter:become(vim {1} +{2})&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;reloading-the-candidate-list&#34;&gt;Reloading the candidate list
&lt;/h3&gt;&lt;p&gt;By binding &lt;code&gt;reload&lt;/code&gt; action to a key or an event, you can make fzf dynamically
reload the candidate list. See &lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf/issues/1750&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/junegunn/fzf/issues/1750&lt;/a&gt; for
more details.&lt;/p&gt;
&lt;h4 id=&#34;1-update-the-list-of-processes-by-pressing-ctrl-r&#34;&gt;1. Update the list of processes by pressing CTRL-R
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps -ef &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  fzf --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;ctrl-r:reload(ps -ef)&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --header &lt;span class=&#34;s1&#34;&gt;&amp;#39;Press CTRL-R to reload&amp;#39;&lt;/span&gt; --header-lines&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --height&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;50% --layout&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;reverse
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;2-switch-between-sources-by-pressing-ctrl-d-or-ctrl-f&#34;&gt;2. Switch between sources by pressing CTRL-D or CTRL-F
&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;FZF_DEFAULT_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;find . -type f&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  fzf --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;ctrl-d:reload(find . -type d),ctrl-f:reload(eval &amp;#34;$FZF_DEFAULT_COMMAND&amp;#34;)&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;      --height&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;50% --layout&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;reverse
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h4 id=&#34;3-interactive-ripgrep-integration&#34;&gt;3. Interactive ripgrep integration
&lt;/h4&gt;&lt;p&gt;The following example uses fzf as the selector interface for ripgrep. We bound
&lt;code&gt;reload&lt;/code&gt; action to &lt;code&gt;change&lt;/code&gt; event, so every time you type on fzf, the ripgrep
process will restart with the updated query string denoted by the placeholder
expression &lt;code&gt;{q}&lt;/code&gt;. Also, note that we used &lt;code&gt;--disabled&lt;/code&gt; option so that fzf
doesn&amp;rsquo;t perform any secondary filtering.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;: &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;rg_prefix&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;rg --column --line-number --no-heading --color=always --smart-case&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    fzf --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;start:reload:$rg_prefix &amp;#34;&amp;#34;&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;change:reload:$rg_prefix {q} || true&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;enter:become(vim {1} +{2})&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --ansi --disabled &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;        --height&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;50% --layout&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;reverse
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If ripgrep doesn&amp;rsquo;t find any matches, it will exit with a non-zero exit status,
and fzf will warn you about it. To suppress the warning message, we added
&lt;code&gt;|| true&lt;/code&gt; to the command, so that it always exits with 0.&lt;/p&gt;
&lt;p&gt;See &lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf/blob/master/ADVANCED.md#using-fzf-as-interactive-ripgrep-launcher&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&amp;ldquo;Using fzf as interactive Ripgrep launcher&amp;rdquo;&lt;/a&gt;
for more sophisticated examples.&lt;/p&gt;
&lt;h3 id=&#34;preview-window&#34;&gt;Preview window
&lt;/h3&gt;&lt;p&gt;When the &lt;code&gt;--preview&lt;/code&gt; option is set, fzf automatically starts an external process
with the current line as the argument and shows the result in the split window.
Your &lt;code&gt;$SHELL&lt;/code&gt; is used to execute the command with &lt;code&gt;$SHELL -c COMMAND&lt;/code&gt;.
The window can be scrolled using the mouse or custom key bindings.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# {} is replaced with the single-quoted string of the focused line&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;cat {}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Preview window supports ANSI colors, so you can use any program that
syntax-highlights the content of a file, such as
&lt;a class=&#34;link&#34; href=&#34;https://github.com/sharkdp/bat&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Bat&lt;/a&gt; or
&lt;a class=&#34;link&#34; href=&#34;https://gitlab.com/saalen/highlight&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Highlight&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;bat --color=always {}&amp;#39;&lt;/span&gt; --preview-window &lt;span class=&#34;s1&#34;&gt;&amp;#39;~3&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;You can customize the size, position, and border of the preview window using
&lt;code&gt;--preview-window&lt;/code&gt; option, and the foreground and background color of it with
&lt;code&gt;--color&lt;/code&gt; option. For example,&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --height 40% --layout reverse --info inline --border &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;file {}&amp;#39;&lt;/span&gt; --preview-window up,1,border-horizontal &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --bind &lt;span class=&#34;s1&#34;&gt;&amp;#39;ctrl-/:change-preview-window(50%|hidden|)&amp;#39;&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    --color &lt;span class=&#34;s1&#34;&gt;&amp;#39;fg:#bbccdd,fg+:#ddeeff,bg:#334455,preview-bg:#223344,border:#778899&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;See the man page (&lt;code&gt;man fzf&lt;/code&gt;) for the full list of options.&lt;/p&gt;
&lt;p&gt;More advanced examples can be found &lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf/blob/master/ADVANCED.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[!WARNING]
Since fzf is a general-purpose text filter rather than a file finder, &lt;strong&gt;it is
not a good idea to add &lt;code&gt;--preview&lt;/code&gt; option to your &lt;code&gt;$FZF_DEFAULT_OPTS&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# *********************&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# ** DO NOT DO THIS! **&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# *********************&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_DEFAULT_OPTS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;--preview &amp;#34;bat --style=numbers --color=always --line-range :500 {}&amp;#34;&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# bat doesn&amp;#39;t work with any input other than the list of files&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ps -ef &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;seq &lt;span class=&#34;m&#34;&gt;100&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;history&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;previewing-an-image&#34;&gt;Previewing an image
&lt;/h3&gt;&lt;p&gt;fzf can display images in the preview window using one of the following protocols:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://sw.kovidgoyal.net/kitty/graphics-protocol/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Kitty graphics protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://iterm2.com/documentation-images.html&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;iTerm2 inline images protocol&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://en.wikipedia.org/wiki/Sixel&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Sixel&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See &lt;a class=&#34;link&#34; href=&#34;bin/fzf-preview.sh&#34; &gt;bin/fzf-preview.sh&lt;/a&gt; script for more information.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf --preview &lt;span class=&#34;s1&#34;&gt;&amp;#39;fzf-preview.sh {}&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;tips&#34;&gt;Tips
&lt;/h2&gt;&lt;h3 id=&#34;respecting-gitignore&#34;&gt;Respecting &lt;code&gt;.gitignore&lt;/code&gt;
&lt;/h3&gt;&lt;p&gt;You can use &lt;a class=&#34;link&#34; href=&#34;https://github.com/sharkdp/fd&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fd&lt;/a&gt;,
&lt;a class=&#34;link&#34; href=&#34;https://github.com/BurntSushi/ripgrep&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;ripgrep&lt;/a&gt;, or &lt;a class=&#34;link&#34; href=&#34;https://github.com/ggreer/the_silver_searcher&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;the silver
searcher&lt;/a&gt; to traverse the file
system while respecting &lt;code&gt;.gitignore&lt;/code&gt;.&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Feed the output of fd into fzf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fd --type f --strip-cwd-prefix &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; fzf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Setting fd as the default source for fzf&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_DEFAULT_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;fd --type f --strip-cwd-prefix&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Now fzf (w/o pipe) will use the fd command to generate the list&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;fzf
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# To apply the command to CTRL-T as well&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_CTRL_T_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$FZF_DEFAULT_COMMAND&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;If you want the command to follow symbolic links and don&amp;rsquo;t want it to exclude
hidden files, use the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;FZF_DEFAULT_COMMAND&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;fd --type f --strip-cwd-prefix --hidden --follow --exclude .git&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;fish-shell&#34;&gt;Fish shell
&lt;/h3&gt;&lt;p&gt;&lt;code&gt;CTRL-T&lt;/code&gt; key binding of fish, unlike those of bash and zsh, will use the last
token on the command-line as the root directory for the recursive search. For
instance, hitting &lt;code&gt;CTRL-T&lt;/code&gt; at the end of the following command-line&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ls /var/
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;will list all files and directories under &lt;code&gt;/var/&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;When using a custom &lt;code&gt;FZF_CTRL_T_COMMAND&lt;/code&gt;, use the unexpanded &lt;code&gt;$dir&lt;/code&gt; variable to
make use of this feature. &lt;code&gt;$dir&lt;/code&gt; defaults to &lt;code&gt;.&lt;/code&gt; when the last token is not a
valid directory. Example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; -g FZF_CTRL_T_COMMAND &lt;span class=&#34;s2&#34;&gt;&amp;#34;command find -L \$dir -type f 2&amp;gt; /dev/null | sed &amp;#39;1d; s#^\./##&amp;#39;&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h3 id=&#34;fzf-theme-playground&#34;&gt;fzf Theme Playground
&lt;/h3&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://vitormv.github.io/fzf-themes/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;fzf Theme Playground&lt;/a&gt; created by
&lt;a class=&#34;link&#34; href=&#34;https://github.com/vitormv&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;Vitor Mello&lt;/a&gt; is a webpage where you can
interactively create fzf themes.&lt;/p&gt;
&lt;h2 id=&#34;related-projects&#34;&gt;Related projects
&lt;/h2&gt;&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/junegunn/fzf/wiki/Related-projects&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/junegunn/fzf/wiki/Related-projects&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;license&#34;&gt;&lt;a class=&#34;link&#34; href=&#34;LICENSE&#34; &gt;License&lt;/a&gt;
&lt;/h2&gt;&lt;p&gt;The MIT License (MIT)&lt;/p&gt;
&lt;p&gt;Copyright (c) 2013-2025 Junegunn Choi&lt;/p&gt;
&lt;h2 id=&#34;sponsors-heart&#34;&gt;Sponsors :heart:
&lt;/h2&gt;&lt;p&gt;I would like to thank all the sponsors of this project who make it possible for me to continue to improve fzf.&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;d like to sponsor this project, please visit &lt;a class=&#34;link&#34; href=&#34;https://github.com/sponsors/junegunn&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/sponsors/junegunn&lt;/a&gt;.&lt;/p&gt;
&lt;!-- sponsors --&gt;&lt;a href=&#34;https://github.com/miyanokomiya&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;miyanokomiya.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: miyanokomiya&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/jonhoo&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;jonhoo.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Jon Gjengset&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/AceofSpades5757&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;AceofSpades5757.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Kyle L. Davis&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/Frederick888&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;Frederick888.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Frederick Zhang&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/moritzdietz&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;moritzdietz.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Moritz Dietz&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/pldubouilh&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;pldubouilh.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Pierre Dubouilh&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/trantor&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;trantor.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Fulvio Scapin&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/rcorre&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rcorre.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Ryan Roden-Corrent&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/blissdev&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;blissdev.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Jordan Arentsen&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/aexvir&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;aexvir.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Alex Viscreanu&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/dbalatero&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;dbalatero.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: David Balatero&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/moobar&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;moobar.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: &#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/benelan&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;benelan.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Ben Elan&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/pawelduda&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;pawelduda.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Paweł Duda&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/pyrho&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;pyrho.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Damien Rajon&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/ArtBIT&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;ArtBIT.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: ArtBIT&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/da-moon&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;da-moon.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: &#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/hovissimo&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;hovissimo.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Hovis&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/dariusjonda&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;dariusjonda.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Darius Jonda&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/cristiand391&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;cristiand391.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Cristian Dominguez&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/eliangcs&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;eliangcs.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Chang-Hung Liang&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/asphaltbuffet&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;asphaltbuffet.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Ben Lechlitner&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/kg8m&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;kg8m.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Takumi KAGIYAMA&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/polm&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;polm.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Paul OLeary McCann&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/rbeeger&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rbeeger.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Robert Beeger&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/scalisi&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;scalisi.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Josh Scalisi&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/alecbcs&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;alecbcs.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Alec Scott&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/artursapek&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;artursapek.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Artur Sapek&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/ramnes&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;ramnes.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Guillaume Gelin&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/jyc&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;jyc.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: &#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/roblevy&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;roblevy.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Rob Levy&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/glozow&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;glozow.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Gloria Zhao&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/toupeira&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;toupeira.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Markus Koller&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/rkpatel33&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;rkpatel33.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: &#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/jamesob&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;jamesob.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: jamesob&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/jlebray&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;jlebray.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Johan Le Bray&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/panosl1&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;panosl1.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Panos Lampropoulos&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/bespinian&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;bespinian.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: bespinian&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/scosu&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;scosu.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Markus Schneider-Pargmann&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/smithbm2316&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;smithbm2316.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Ben Smith&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/charlieegan3&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;charlieegan3.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Charlie Egan&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/thobbs&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;thobbs.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Tyler Hobbs&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/neilparikh&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;neilparikh.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Neil Parikh&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/shkm&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;shkm.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Jamie Schembri&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/BasedScience&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;BasedScience.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: dockien&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/RussellGilmore&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;RussellGilmore.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Russell Gilmore&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/meribold&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;meribold.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Lukas Waymann&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/terminaldweller&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;terminaldweller.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Farzad Sadeghi&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/jaydee-coder&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;jaydee-coder.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: &#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/brpaz&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;brpaz.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Bruno Paz&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/timobenn&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;timobenn.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Timothy Bennett&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/danhorner&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;danhorner.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Daniel Horner&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/syeo66&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;syeo66.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Red Ochsenbein&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/nekhaevskiy&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;nekhaevskiy.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Yury&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/lajarre&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;lajarre.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: &#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/vidhatre&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;vidhatre.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Vidhatre Gathey&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/NightsPaladin&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;NightsPaladin.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Chris G.&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/lzell&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;lzell.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Lou Zell&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/3ximus&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;3ximus.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Fabio&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/bladeacer&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;bladeacer.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: &#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/tylerdak&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;tylerdak.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Tyler Dakin&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/justinlubin&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;justinlubin.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Justin Lubin&#34; /&gt;&lt;/a&gt;&lt;a href=&#34;https://github.com/gpoma&#34;&gt;&lt;img src=&#34;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;gpoma.png&#34; width=&#34;60px&#34; alt=&#34;User avatar: Gabriel&#34; /&gt;&lt;/a&gt;&lt;!-- sponsors --&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a class=&#34;link&#34; href=&#34;https://jb.gg/OpenSourceSupport&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;&lt;img src=&#34;https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;JetBrains logo.&#34;
	
	
&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;JetBrains supports this project with an Open Source Development License.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
