fzf Options Reference
Complete reference for all fzf command-line options.
Table of Contents
Search Options
Mode Selection
| Option |
Description |
-x, --extended |
Extended search mode (default) |
+x, --no-extended |
Disable extended search |
-e, --exact |
Exact match mode |
-i, --ignore-case |
Case-insensitive search |
+i, --no-ignore-case |
Case-sensitive search |
--smart-case |
Smart case (default) |
--literal |
Don't normalize latin characters |
Algorithm
| Option |
Description |
--scheme=SCHEME |
Scoring scheme: default, path, history |
--algo=TYPE |
Algorithm: v2 (quality), v1 (speed) |
Field Processing
| Option |
Description |
-d, --delimiter=STR |
Field delimiter (regex or string) |
-n, --nth=N[,..] |
Limit search to specific fields |
--with-nth=N[,..] |
Transform display (field expressions) |
--accept-nth=N[,..] |
Fields to print on accept |
Sorting
| Option |
Description |
+s, --no-sort |
Don't sort results |
--tiebreak=CRI[,..] |
Tiebreak criteria |
Tiebreak criteria:
length - Shorter line preferred (default)
chunk - Shorter matched chunk
pathname - Match in filename preferred
begin - Match closer to beginning
end - Match closer to end
index - Earlier in input (implicit last)
Other Search Options
| Option |
Description |
--disabled |
Disable search (selector mode) |
--tail=NUM |
Limit items in memory |
Input/Output Options
| Option |
Description |
--read0 |
NUL-delimited input |
--print0 |
NUL-delimited output |
--ansi |
Process ANSI color codes |
--sync |
Synchronous search |
--no-tty-default |
Use stderr for TTY detection |
Display Mode Options
Height Mode
| Option |
Description |
--height=HEIGHT[%] |
Non-fullscreen mode |
--min-height=HEIGHT[+] |
Minimum height (with percentage height) |
tmux Mode
Examples:
Layout Options
| Option |
Description |
--layout=LAYOUT |
default, reverse, reverse-list |
--reverse |
Alias for --layout=reverse |
--margin=MARGIN |
Margin around finder |
--padding=PADDING |
Padding inside border |
Border Options
| Option |
Description |
--border[=STYLE] |
Draw border around finder |
--border-label=LABEL |
Label on border |
--border-label-pos=N[:pos] |
Label position |
Border styles:
rounded, sharp, bold, double, block, thinblock, horizontal, vertical, line, top, bottom, left, right, none
List Section Options
Selection
| Option |
Description |
-m, --multi[=MAX] |
Enable multi-select (optional limit) |
+m, --no-multi |
Disable multi-select |
Display
| Option |
Description |
--highlight-line |
Highlight entire current line |
--cycle |
Enable cyclic scroll |
--wrap |
Enable line wrap |
--wrap-sign=STR |
Indicator for wrapped lines |
--no-multi-line |
Disable multi-line items |
--raw |
Show non-matching items (dimmed) |
--tac |
Reverse input order |
--track |
Track current selection |
Scrolling
| Option |
Description |
--scroll-off=LINES |
Lines to keep visible at edges |
--no-hscroll |
Disable horizontal scroll |
--hscroll-off=COLS |
Columns to keep visible |
Markers
| Option |
Description |
--pointer=STR |
Pointer character |
--marker=STR |
Selection marker |
--marker-multi-line=STR |
Multi-line marker (3 chars) |
--ellipsis=STR |
Truncation indicator |
--scrollbar=CHAR[CHAR] |
Scrollbar characters |
--no-scrollbar |
Disable scrollbar |
Gap and Freeze
| Option |
Description |
--gap[=N] |
Empty lines between items |
--gap-line[=STR] |
Line character for gaps |
--freeze-left=N |
Freeze N left fields |
--freeze-right=N |
Freeze N right fields |
--keep-right |
Keep right end visible |
List Border
| Option |
Description |
--list-border[=STYLE] |
Border around list |
--list-label=LABEL |
List border label |
--list-label-pos=N[:pos] |
Label position |
Input Section Options
| Option |
Description |
--prompt=STR |
Input prompt (default: > ) |
--info=STYLE |
Info display style |
--info-command=CMD |
Custom info generator |
--no-info |
Hide info line |
--no-input |
Hide input section |
--ghost=TEXT |
Ghost text when empty |
--filepath-word |
Path-aware word movements |
--separator=STR |
Separator line character |
--no-separator |
Hide separator |
Info styles:
default, right, hidden, inline, inline:PREFIX, inline-right, inline-right:PREFIX
Input Border
| Option |
Description |
--input-border[=STYLE] |
Border around input |
--input-label=LABEL |
Input border label |
--input-label-pos=N[:pos] |
Label position |
Preview Options
Preview Command
Placeholders:
{} - Current item (quoted)
{+} - Selected items (space-separated)
{q} - Query string
{n} - Zero-based index
{1}, {2}, etc. - Nth field
{-1} - Last field
{1..3} - Fields 1-3
{2..} - Fields 2 to end
Flags:
{+} - All selected
{f} - Write to temp file
{r} - Raw (unquoted)
{s} - Preserve whitespace
Preview Window
Position: up, down, left, right (default: right)
Options:
SIZE[%] - Window size
border-STYLE - Border style
wrap / nowrap - Line wrapping
follow / nofollow - Auto-scroll
cycle / nocycle - Cyclic scroll
info / noinfo - Show scroll info
hidden - Start hidden
+SCROLL[/DENOM] - Initial scroll offset
~HEADER_LINES - Fixed header lines
default - Reset to defaults
<SIZE(ALTERNATIVE) - Responsive layout
Example:
Preview Labels
| Option |
Description |
--preview-border[=STYLE] |
Preview border style |
--preview-label=LABEL |
Preview label |
--preview-label-pos=N[:pos] |
Label position |
| Option |
Description |
--header=STR |
Sticky header text |
--header-lines=N |
First N lines as header |
--header-first |
Header before prompt |
--header-border[=STYLE] |
Header border |
--header-label=LABEL |
Header label |
--header-lines-border[=STYLE] |
Separate header lines |
| Option |
Description |
--footer=STR |
Sticky footer text |
--footer-border[=STYLE] |
Footer border |
--footer-label=LABEL |
Footer label |
Scripting Options
| Option |
Description |
-q, --query=STR |
Initial query string |
-1, --select-1 |
Auto-select if single match |
-0, --exit-0 |
Exit if no match |
-f, --filter=STR |
Filter mode (non-interactive) |
--print-query |
Print query as first line |
--expect=KEYS |
Print key pressed as first line |
--no-clear |
Don't clear screen on exit |
Directory Walker Options
When FZF_DEFAULT_COMMAND is not set:
| Option |
Description |
--walker=[file][,dir][,follow][,hidden] |
Walker behavior |
--walker-root=DIR [...] |
Starting directories |
--walker-skip=DIRS |
Directories to skip |
Default: --walker=file,follow,hidden
Default skip: .git,node_modules
History Options
| Option |
Description |
--history=FILE |
History file path |
--history-size=N |
Max history entries (default: 1000) |
Color Options
Base Schemes
dark - Dark terminal (default on 256-color)
light - Light terminal
base16 / 16 - Base 16 colors
bw - No colors
Style Presets
Presets: default, minimal, full[:BORDER_STYLE]
Color Names
Text colors:
fg, bg, hl, fg+ (current), bg+, hl+, preview-fg, preview-bg
UI colors:
info, prompt, pointer, marker, spinner, header, border, label, query, disabled, separator, scrollbar
Specialized:
selected-fg, selected-bg, selected-hl, gutter, nth, ghost
ANSI Colors
-1 - Default/original color
0-15 - Base colors (black, red, green, yellow, blue, magenta, cyan, white, bright-*)
16-255 - 256 colors
#rrggbb - 24-bit colors
Attributes
regular, bold, underline, reverse, dim, italic, strikethrough, strip
Example:
Shell Integration
| Option |
Description |
--bash |
Print bash integration script |
--zsh |
Print zsh integration script |
--fish |
Print fish integration script |
Advanced Options
| Option |
Description |
--bind=BINDINGS |
Custom key/event bindings |
--with-shell=STR |
Shell for commands |
--listen[=ADDR:PORT] |
Start HTTP server |
--listen-unsafe[=ADDR:PORT] |
Allow remote execution |
--jump-labels=CHARS |
Characters for jump mode |
--tabstop=N |
Tab width (default: 8) |
--gutter=CHAR |
Gutter character |
Other Options
| Option |
Description |
--no-mouse |
Disable mouse |
--no-unicode |
Use ASCII characters |
--no-bold |
Don't use bold text |
--black |
Use black background |
--ambidouble |
Double-width ambiguous chars |
--version |
Show version |
--help |
Show help |
--man |
Show man page |