fzf is an interactive filter program for any kind of list.
It implements a "fuzzy" matching algorithm, so you can quickly type in patterns
with omitted characters and still get the results you want.
Project URL: https://github.com/junegunn/fzf
Author: Junegunn Choi <junegunn.c@gmail.com>
* See man page for more information: fzf --man
Usage: fzf [options]
SEARCH
-e, --exact Enable exact-match
+x, --no-extended Disable extended-search mode
-i, --ignore-case Case-insensitive match
+i, --no-ignore-case Case-sensitive match
--smart-case Smart-case match (default)
--scheme=SCHEME Scoring scheme [default|path|history]
-n, --nth=N[,..] Comma-separated list of field index expressions
for limiting search scope. Each can be a non-zero
integer or a range expression ([BEGIN]..[END]).
--with-nth=N[,..] Transform the presentation of each line using
field index expressions
--accept-nth=N[,..] Define which fields to print on accept
-d, --delimiter=STR Field delimiter regex (default: AWK-style)
+s, --no-sort Do not sort the result
--literal Do not normalize latin script letters
--tail=NUM Maximum number of items to keep in memory
--disabled Do not perform search
--tiebreak=CRI[,..] Comma-separated list of sort criteria to apply
when the scores are tied
[length|chunk|pathname|begin|end|index] (default: length)
INPUT/OUTPUT
--read0 Read input delimited by ASCII NUL characters
--print0 Print output delimited by ASCII NUL characters
--ansi Enable processing of ANSI color codes
--sync Synchronous search for multi-staged filtering
GLOBAL STYLE
--style=PRESET Apply a style preset [default|minimal|full[:BORDER_STYLE]
--color=COLSPEC Base scheme (dark|light|base16|bw) and/or custom colors
--no-color Disable colors
--no-bold Do not use bold text
DISPLAY MODE
--height=[~][-]HEIGHT[%] Display fzf window below the cursor with the given
height instead of using fullscreen.
A negative value is calculated as the terminal height
minus the given value.
If prefixed with '~', fzf will determine the height
according to the input size.
--min-height=HEIGHT[+] Minimum height when --height is given as a percentage.
Add '+' to automatically increase the value
according to the other layout options (default: 10+).
--popup[=OPTS] Start fzf in a floating pane (requires tmux 3.3+ or Zellij 0.44+)
[center|top|bottom|left|right][,SIZE[%]][,SIZE[%]]
[,border-native] (default: center,50%)
--tmux[=OPTS] Alias for --popup
LAYOUT
--layout=LAYOUT Choose layout: [default|reverse|reverse-list]
--margin=MARGIN Screen margin (TRBL | TB,RL | T,RL,B | T,R,B,L)
--padding=PADDING Padding inside border (TRBL | TB,RL | T,RL,B | T,R,B,L)
--border[=STYLE] Draw border around the finder
[rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical|
top|bottom|left|right|line|none] (default: rounded)
--border-label=LABEL Label to print on the border
--border-label-pos=COL Position of the border label
[POSITIVE_INTEGER: columns from left|
NEGATIVE_INTEGER: columns from right][:bottom]
(default: 0 or center)
LIST SECTION
-m, --multi[=MAX] Enable multi-select with tab/shift-tab
--highlight-line Highlight the whole current line
--cycle Enable cyclic scroll
--wrap[=MODE] Enable line wrap (char|word, default: char)
--wrap-sign=STR Indicator for wrapped lines
--no-multi-line Disable multi-line display of items when using --read0
--raw Enable raw mode (show non-matching items)
--track Track the current selection when the result is updated
--id-nth=N[,..] Define item identity fields for cross-reload operations
--tac Reverse the order of the input
--gap[=N] Render empty lines between each item
--gap-line[=STR] Draw horizontal line on each gap using the string
(default: '┈' or '-')
--freeze-left=N Number of fields to freeze on the left
--freeze-right=N Number of fields to freeze on the right
--keep-right Keep the right end of the line visible on overflow
--scroll-off=LINES Number of screen lines to keep above or below when
scrolling to the top or to the bottom (default: 0)
--no-hscroll Disable horizontal scroll
--hscroll-off=COLS Number of screen columns to keep to the right of the
highlighted substring (default: 10)
--jump-labels=CHARS Label characters for jump mode
--gutter=CHAR Character used for the gutter column (default: '▌')
--gutter-raw=CHAR Character used for the gutter column in raw mode (default: '▖')
--pointer=STR Pointer to the current line (default: '▌' or '>')
--marker=STR Multi-select marker (default: '┃' or '>')
--marker-multi-line=STR Multi-select marker for multi-line entries;
3 elements for top, middle, and bottom (default: '╻┃╹')
--ellipsis=STR Ellipsis to show when line is truncated (default: '··')
--tabstop=SPACES Number of spaces for a tab character (default: 8)
--scrollbar[=C1[C2]] Scrollbar character(s)
(each for list section and preview window)
--no-scrollbar Hide scrollbar
--list-border[=STYLE] Draw border around the list section
[rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical|
top|bottom|left|right|none] (default: rounded)
--list-label=LABEL Label to print on the list border
--list-label-pos=COL Position of the list label
[POSITIVE_INTEGER: columns from left|
NEGATIVE_INTEGER: columns from right][:bottom]
(default: 0 or center)
INPUT SECTION
--no-input Disable and hide the input section
--prompt=STR Input prompt (default: '> ')
--info=STYLE Finder info style
[default|right|hidden|inline[-right][:PREFIX]]
--info-command=COMMAND Command to generate info line
--separator=STR Draw horizontal separator on info line using the string
(default: '─' or '-')
--no-separator Hide info line separator
--ghost=TEXT Ghost text to display when the input is empty
--filepath-word Make word-wise movements respect path separators
--input-border[=STYLE] Draw border around the input section
[rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical|
top|bottom|left|right|line|none] (default: rounded)
--input-label=LABEL Label to print on the input border
--input-label-pos=COL Position of the input label
[POSITIVE_INTEGER: columns from left|
NEGATIVE_INTEGER: columns from right][:bottom]
(default: 0 or center)
PREVIEW WINDOW
--preview=COMMAND Command to preview highlighted line ({})
--preview-window=OPT Preview window layout (default: right:50%)
[up|down|left|right|next][,SIZE[%]]
[,[no]wrap[-word]][,[no]cycle][,[no]follow][,[no]info]
[,[no]hidden][,border-STYLE]
[,+SCROLL[OFFSETS][/DENOM]][,~HEADER_LINES]
[,default][,<SIZE_THRESHOLD(ALTERNATIVE_LAYOUT)]
--preview-border[=STYLE] Short for --preview-window=border-STYLE
[rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical|
top|bottom|left|right|line|none] (default: rounded)
--preview-label=LABEL
--preview-label-pos=N Same as --border-label and --border-label-pos,
but for preview window
--preview-wrap-sign=STR Indicator for wrapped lines in the preview window
HEADER
--header=STR String to print as header
--header-lines=N The first N lines of the input are treated as header
--header-first Print header before the prompt line
--header-border[=STYLE] Draw border around the header section
[rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical|
top|bottom|left|right|line|inline|none] (default: rounded)
--header-lines-border[=STYLE]
Display header from --header-lines with a separate border.
Pass 'none' to still separate it but without a border.
Pass 'inline' to embed it inside the list frame.
--header-label=LABEL Label to print on the header border
--header-label-pos=COL Position of the header label
[POSITIVE_INTEGER: columns from left|
NEGATIVE_INTEGER: columns from right][:bottom]
(default: 0 or center)
FOOTER
--footer=STR String to print as footer
--footer-border[=STYLE] Draw border around the footer section
[rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical|
top|bottom|left|right|line|inline|none] (default: line)
--footer-label=LABEL Label to print on the footer border
--footer-label-pos=COL Position of the footer label
[POSITIVE_INTEGER: columns from left|
NEGATIVE_INTEGER: columns from right][:bottom]
(default: 0 or center)
SCRIPTING
-q, --query=STR Start the finder with the given query
-1, --select-1 Automatically select the only match
-0, --exit-0 Exit immediately when there's no match
-f, --filter=STR Print matches for the initial query and exit
--print-query Print query as the first line
--expect=KEYS Comma-separated list of keys to complete fzf
KEY/EVENT BINDING
--bind=BINDINGS Custom key/event bindings
ADVANCED
--with-shell=STR Shell command and flags to start child processes with
--listen[=[ADDR:]PORT] Start HTTP server to receive actions via TCP
(To allow remote process execution, use --listen-unsafe)
--listen=SOCKET_PATH Start HTTP server to receive actions via Unix domain socket
(Path should end with .sock)
DIRECTORY TRAVERSAL (Only used when $FZF_DEFAULT_COMMAND is not set)
--walker=OPTS [file][,dir][,follow][,hidden] (default: file,follow,hidden)
--walker-root=DIR [...] List of directories to walk (default: .)
--walker-skip=DIRS Comma-separated list of directory names to skip
(default: .git,node_modules)
HISTORY
--history=FILE File to store fzf search history (*not* shell command history)
--history-size=N Maximum number of entries to keep in the file (default: 1000)
SHELL INTEGRATION
--bash Print script to set up Bash shell integration
--zsh Print script to set up Zsh shell integration
--fish Print script to set up Fish shell integration
--nushell Print script to set up Nushell integration
HELP
--version Display version information and exit
--help Show this message
--man Show man page
ENVIRONMENT VARIABLES
FZF_DEFAULT_COMMAND Default command to use when input is tty
FZF_DEFAULT_OPTS Default options (e.g. '--layout=reverse --info=inline')
FZF_DEFAULT_OPTS_FILE Location of the file to read default options from
FZF_API_KEY X-API-Key header for HTTP server (--listen)
Options (108)
| Option | Description | Source |
|---|---|---|
-e, --exact | Enable exact-match | help |
-i, --ignore-case | Case-insensitive match | help |
--smart-case | Smart-case match (default) | help |
--scheme SCHEME | Scoring scheme [default|path|history] | help |
-n, --nth N | Comma-separated list of field index expressions for limiting search scope. | help |
--with-nth N | Transform the presentation of each line using field index expressions | help |
--accept-nth N | Define which fields to print on accept | help |
-d, --delimiter STR | Field delimiter regex (default: AWK-style) | help |
--literal | Do not normalize latin script letters | help |
--tail NUM | Maximum number of items to keep in memory | help |
--disabled | Do not perform search | help |
--tiebreak CRI | Comma-separated list of sort criteria to apply when the scores are tied [length|chunk|pathname|begin|end|index] (default: length) | help |
--read0 | Read input delimited by ASCII NUL characters | help |
--print0 | Print output delimited by ASCII NUL characters | help |
--ansi | Enable processing of ANSI color codes | help |
--sync | Synchronous search for multi-staged filtering | help |
--style PRESET | Apply a style preset [default|minimal|full[:BORDER_STYLE] | help |
--color COLSPEC | Base scheme (dark|light|base16|bw) and/or custom colors | help |
--no-color | Disable colors | help |
--no-bold | Do not use bold text | help |
--min-height HEIGHT[+ | Minimum height when --height is given as a percentage. | help |
--popup OPTS | Start fzf in a floating pane (requires tmux 3.3+ or Zellij 0.44+) [center|top|bottom|left|right][,SIZE[%]][,SIZE[%]] [,border-native] (default: center,50%) | help |
--tmux OPTS | Alias for --popup | help |
--layout LAYOUT | Choose layout: [default|reverse|reverse-list] | help |
--margin MARGIN | Screen margin (TRBL | TB,RL | T,RL,B | T,R,B,L) | help |
--padding PADDING | Padding inside border (TRBL | TB,RL | T,RL,B | T,R,B,L) | help |
--border STYLE | Draw border around the finder [rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical| top|bottom|left|right|line|none] (default: rounded) | help |
--border-label LABEL | Label to print on the border | help |
--border-label-pos COL | Position of the border label [POSITIVE_INTEGER: columns from left| NEGATIVE_INTEGER: columns from right][:bottom] (default: 0 or center) | help |
-m, --multi MAX | Enable multi-select with tab/shift-tab | help |
--highlight-line | Highlight the whole current line | help |
--cycle | Enable cyclic scroll | help |
--wrap MODE | Enable line wrap (char|word, default: char) | help |
--wrap-sign STR | Indicator for wrapped lines | help |
--no-multi-line | Disable multi-line display of items when using --read0 | help |
--raw | Enable raw mode (show non-matching items) | help |
--track | Track the current selection when the result is updated | help |
--id-nth N | Define item identity fields for cross-reload operations | help |
--tac | Reverse the order of the input | help |
--gap N | Render empty lines between each item | help |
--gap-line STR | Draw horizontal line on each gap using the string (default: '┈' or '-') | help |
--freeze-left N | Number of fields to freeze on the left | help |
--freeze-right N | Number of fields to freeze on the right | help |
--keep-right | Keep the right end of the line visible on overflow | help |
--scroll-off LINES | Number of screen lines to keep above or below when scrolling to the top or to the bottom (default: 0) | help |
--no-hscroll | Disable horizontal scroll | help |
--hscroll-off COLS | Number of screen columns to keep to the right of the highlighted substring (default: 10) | help |
--jump-labels CHARS | Label characters for jump mode | help |
--gutter CHAR | Character used for the gutter column (default: '▌') | help |
--gutter-raw CHAR | Character used for the gutter column in raw mode (default: '▖') | help |
--pointer STR | Pointer to the current line (default: '▌' or '>') | help |
--marker STR | Multi-select marker (default: '┃' or '>') | help |
--marker-multi-line STR | Multi-select marker for multi-line entries; | help |
--ellipsis STR | Ellipsis to show when line is truncated (default: '··') | help |
--tabstop SPACES | Number of spaces for a tab character (default: 8) | help |
--scrollbar C1[C2 | Scrollbar character(s) (each for list section and preview window) | help |
--no-scrollbar | Hide scrollbar | help |
--list-border STYLE | Draw border around the list section [rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical| top|bottom|left|right|none] (default: rounded) | help |
--list-label LABEL | Label to print on the list border | help |
--list-label-pos COL | Position of the list label [POSITIVE_INTEGER: columns from left| NEGATIVE_INTEGER: columns from right][:bottom] (default: 0 or center) | help |
--no-input | Disable and hide the input section | help |
--prompt STR | Input prompt (default: '> ') | help |
--info STYLE | Finder info style [default|right|hidden|inline[-right][:PREFIX]] | help |
--info-command COMMAND | Command to generate info line | help |
--separator STR | Draw horizontal separator on info line using the string (default: '─' or '-') | help |
--no-separator | Hide info line separator | help |
--ghost TEXT | Ghost text to display when the input is empty | help |
--filepath-word | Make word-wise movements respect path separators | help |
--input-border STYLE | Draw border around the input section [rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical| top|bottom|left|right|line|none] (default: rounded) | help |
--input-label LABEL | Label to print on the input border | help |
--input-label-pos COL | Position of the input label [POSITIVE_INTEGER: columns from left| NEGATIVE_INTEGER: columns from right][:bottom] (default: 0 or center) | help |
--preview COMMAND | Command to preview highlighted line ({}) | help |
--preview-window OPT | Preview window layout (default: right:50%) [up|down|left|right|next][,SIZE[%]] [,[no]wrap[-word]][,[no]cycle][,[no]follow][,[no]info] [,[no]hidden][,border-STYLE]… | help |
--preview-label LABEL | help | |
--preview-label-pos N | Same as --border-label and --border-label-pos, but for preview window | help |
--preview-wrap-sign STR | Indicator for wrapped lines in the preview window | help |
--header STR | String to print as header | help |
--header-lines N | The first N lines of the input are treated as header | help |
--header-first | Print header before the prompt line | help |
--header-border STYLE | Draw border around the header section [rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical| top|bottom|left|right|line|inline|none] (default: rounded) | help |
--header-lines-border STYLE | Display header from --header-lines with a separate border. | help |
--header-label LABEL | Label to print on the header border | help |
--header-label-pos COL | Position of the header label [POSITIVE_INTEGER: columns from left| NEGATIVE_INTEGER: columns from right][:bottom] (default: 0 or center) | help |
--footer STR | String to print as footer | help |
--footer-border STYLE | Draw border around the footer section [rounded|sharp|bold|block|thinblock|double|dashed|horizontal|vertical| top|bottom|left|right|line|inline|none] (default: line) | help |
--footer-label LABEL | Label to print on the footer border | help |
--footer-label-pos COL | Position of the footer label [POSITIVE_INTEGER: columns from left| NEGATIVE_INTEGER: columns from right][:bottom] (default: 0 or center) | help |
-q, --query STR | Start the finder with the given query | help |
-1, --select-1 | Automatically select the only match | help |
-0, --exit-0 | Exit immediately when there's no match | help |
-f, --filter STR | Print matches for the initial query and exit | help |
--print-query | Print query as the first line | help |
--expect KEYS | Comma-separated list of keys to complete fzf | help |
--bind BINDINGS | Custom key/event bindings | help |
--with-shell STR | Shell command and flags to start child processes with | help |
--listen ADDR:]PORT | Start HTTP server to receive actions via TCP (To allow remote process execution, use --listen-unsafe) | help |
--walker OPTS | [file][,dir][,follow][,hidden] (default: file,follow,hidden) | help |
--walker-root DIR | List of directories to walk (default: .) | help |
--walker-skip DIRS | Comma-separated list of directory names to skip (default: .git,node_modules) | help |
--history FILE | File to store fzf search history (*not* shell command history) | help |
--history-size N | Maximum number of entries to keep in the file (default: 1000) | help |
--bash | Print script to set up Bash shell integration | help |
--zsh | Print script to set up Zsh shell integration | help |
--fish | Print script to set up Fish shell integration | help |
--nushell | Print script to set up Nushell integration | help |
--version | Display version information and exit | help |
--help | Show this message | help |
--man | Show man page | help |