2015-03-25 18:06:31 +00:00
|
|
|
.ig
|
|
|
|
The MIT License (MIT)
|
|
|
|
|
|
|
|
Copyright (c) 2015 Junegunn Choi
|
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
|
|
of this software and associated documentation files (the "Software"), to deal
|
|
|
|
in the Software without restriction, including without limitation the rights
|
|
|
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
|
|
copies of the Software, and to permit persons to whom the Software is
|
|
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
|
|
all copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
|
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
|
|
THE SOFTWARE.
|
|
|
|
..
|
2015-06-21 08:40:36 +00:00
|
|
|
.TH fzf 1 "June 2015" "fzf 0.10.0" "fzf - a command-line fuzzy finder"
|
2015-03-25 18:06:31 +00:00
|
|
|
|
|
|
|
.SH NAME
|
|
|
|
fzf - a command-line fuzzy finder
|
|
|
|
|
|
|
|
.SH SYNOPSIS
|
|
|
|
fzf [options]
|
|
|
|
|
|
|
|
.SH DESCRIPTION
|
|
|
|
fzf is a general-purpose command-line fuzzy finder.
|
|
|
|
|
|
|
|
.SH OPTIONS
|
|
|
|
.SS Search mode
|
|
|
|
.TP
|
|
|
|
.B "-x, --extended"
|
|
|
|
Extended-search mode
|
|
|
|
.TP
|
|
|
|
.B "-e, --extended-exact"
|
|
|
|
Extended-search mode (exact match)
|
|
|
|
.TP
|
|
|
|
.B "-i"
|
|
|
|
Case-insensitive match (default: smart-case match)
|
|
|
|
.TP
|
|
|
|
.B "+i"
|
|
|
|
Case-sensitive match
|
|
|
|
.TP
|
|
|
|
.BI "-n, --nth=" "N[,..]"
|
|
|
|
Comma-separated list of field index expressions for limiting search scope.
|
|
|
|
See \fBFIELD INDEX EXPRESSION\fR for details.
|
|
|
|
.TP
|
|
|
|
.BI "--with-nth=" "N[,..]"
|
2015-06-21 08:40:36 +00:00
|
|
|
Transform each item using index expressions within finder
|
2015-03-25 18:06:31 +00:00
|
|
|
.TP
|
|
|
|
.BI "-d, --delimiter=" "STR"
|
2015-06-21 08:40:36 +00:00
|
|
|
Field delimiter regex for \fB--nth\fR and \fB--with-nth\fR (default: AWK-style)
|
2015-03-25 18:06:31 +00:00
|
|
|
.SS Search result
|
|
|
|
.TP
|
|
|
|
.B "+s, --no-sort"
|
|
|
|
Do not sort the result
|
|
|
|
.TP
|
|
|
|
.B "--tac"
|
|
|
|
Reverse the order of the input
|
|
|
|
.RS
|
|
|
|
e.g. \fBhistory | fzf --tac --no-sort\fR
|
|
|
|
.RE
|
2015-04-16 05:19:28 +00:00
|
|
|
.TP
|
2015-04-16 14:11:11 +00:00
|
|
|
.BI "--tiebreak=" "CRI"
|
2015-04-16 05:19:28 +00:00
|
|
|
Sort criterion to use when the scores are tied
|
|
|
|
.br
|
|
|
|
.R ""
|
|
|
|
.br
|
|
|
|
.BR length " Prefers item with shorter length"
|
|
|
|
.br
|
|
|
|
.BR begin " Prefers item with matched substring closer to the beginning"
|
|
|
|
.br
|
2015-04-16 13:34:02 +00:00
|
|
|
.BR end " Prefers item with matched substring closer to the end"
|
2015-04-16 05:19:28 +00:00
|
|
|
.br
|
|
|
|
.BR index " Prefers item that appeared earlier in the input stream"
|
|
|
|
.br
|
2015-03-25 18:06:31 +00:00
|
|
|
.SS Interface
|
|
|
|
.TP
|
|
|
|
.B "-m, --multi"
|
|
|
|
Enable multi-select with tab/shift-tab
|
|
|
|
.TP
|
|
|
|
.B "--ansi"
|
|
|
|
Enable processing of ANSI color codes
|
|
|
|
.TP
|
|
|
|
.B "--no-mouse"
|
|
|
|
Disable mouse
|
|
|
|
.TP
|
2015-05-31 07:46:54 +00:00
|
|
|
.BI "--color=" "[BASE_SCHEME][,COLOR:ANSI]"
|
|
|
|
Color configuration. The name of the base color scheme is followed by custom
|
|
|
|
color mappings. Ansi color code of -1 denotes terminal default
|
|
|
|
foreground/background color.
|
|
|
|
|
|
|
|
.RS
|
|
|
|
e.g. \fBfzf --color=bg+:24\fR
|
|
|
|
\fBfzf --color=light,fg:232,bg:255,bg+:116,info:27\fR
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.RS
|
|
|
|
.B BASE SCHEME:
|
|
|
|
(default: dark on 256-color terminal, otherwise 16)
|
|
|
|
|
|
|
|
\fBdark \fRColor scheme for dark 256-color terminal
|
|
|
|
\fBlight \fRColor scheme for light 256-color terminal
|
|
|
|
\fB16 \fRColor scheme for 16-color terminal
|
|
|
|
\fBbw \fRNo colors
|
|
|
|
|
|
|
|
.B COLOR:
|
|
|
|
\fBfg \fRText
|
|
|
|
\fBbg \fRBackground
|
|
|
|
\fBhl \fRHighlighted substrings
|
|
|
|
\fBfg+ \fRText (current line)
|
|
|
|
\fBbg+ \fRBackground (current line)
|
|
|
|
\fBhl+ \fRHighlighted substrings (current line)
|
|
|
|
\fBinfo \fRInfo
|
|
|
|
\fBprompt \fRPrompt
|
|
|
|
\fBpointer \fRPointer to the current line
|
|
|
|
\fBmarker \fRMulti-select marker
|
|
|
|
\fBspinner \fRStreaming input indicator
|
2015-07-21 15:19:37 +00:00
|
|
|
\fBheader \fRHeader
|
2015-05-31 07:46:54 +00:00
|
|
|
.RE
|
2015-03-25 18:06:31 +00:00
|
|
|
.TP
|
|
|
|
.B "--black"
|
|
|
|
Use black background
|
|
|
|
.TP
|
|
|
|
.B "--reverse"
|
|
|
|
Reverse orientation
|
|
|
|
.TP
|
2015-06-21 08:40:36 +00:00
|
|
|
.B "--cycle"
|
|
|
|
Enable cyclic scroll
|
|
|
|
.TP
|
2015-04-16 03:56:01 +00:00
|
|
|
.B "--no-hscroll"
|
|
|
|
Disable horizontal scroll
|
|
|
|
.TP
|
2015-04-21 14:50:53 +00:00
|
|
|
.B "--inline-info"
|
|
|
|
Display finder info inline with the query
|
|
|
|
.TP
|
2015-03-25 18:06:31 +00:00
|
|
|
.BI "--prompt=" "STR"
|
|
|
|
Input prompt (default: '> ')
|
2015-03-28 17:59:32 +00:00
|
|
|
.TP
|
2015-03-31 13:05:02 +00:00
|
|
|
.BI "--toggle-sort=" "KEY"
|
2015-06-21 08:40:36 +00:00
|
|
|
Key to toggle sort. For the list of the allowed key names, see \fB--bind\fR.
|
2015-03-31 13:05:02 +00:00
|
|
|
.TP
|
2015-05-20 12:25:15 +00:00
|
|
|
.BI "--bind=" "KEYBINDS"
|
|
|
|
Comma-separated list of custom key bindings. Each key binding expression
|
|
|
|
follows the following format: \fBKEY:ACTION\fR
|
|
|
|
.RS
|
|
|
|
e.g. \fBfzf --bind=ctrl-j:accept,ctrl-k:kill-line\fR
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.RS
|
2015-06-21 08:40:36 +00:00
|
|
|
.B AVAILABLE KEYS:
|
|
|
|
\fIctrl-[a-z]\fR
|
|
|
|
\fIalt-[a-z]\fR
|
|
|
|
\fIf[1-4]\fR
|
|
|
|
\fIenter\fR (\fIreturn\fR)
|
|
|
|
\fIspace\fR
|
|
|
|
\fIbspace\fR (\fIbs\fR)
|
|
|
|
\fIalt-bspace\fR (\fIalt-bs\fR)
|
|
|
|
\fItab\fR
|
|
|
|
\fIbtab\fR (\fIshift-tab\fR)
|
|
|
|
\fIesc\fR
|
|
|
|
\fIdel\fR
|
|
|
|
\fIup\fR
|
|
|
|
\fIdown\fR
|
|
|
|
\fIleft\fR
|
|
|
|
\fIright\fR
|
|
|
|
\fIhome\fR
|
|
|
|
\fIend\fR
|
|
|
|
\fIpgup\fR (\fIpage-up\fR)
|
|
|
|
\fIpgdn\fR (\fIpage-down\fR)
|
|
|
|
\fIshift-left\fR
|
|
|
|
\fIshift-right\fR
|
|
|
|
or any single character
|
2015-05-20 12:25:15 +00:00
|
|
|
.RE
|
|
|
|
|
|
|
|
.RS
|
2015-06-21 08:40:36 +00:00
|
|
|
\fBACTION: DEFAULT BINDINGS:
|
|
|
|
\fBabort\fR \fIctrl-c ctrl-g ctrl-q esc\fR
|
|
|
|
\fBaccept\fR \fIctrl-m (enter)\fR
|
|
|
|
\fBbackward-char\fR \fIctrl-b left\fR
|
|
|
|
\fBbackward-delete-char\fR \fIctrl-h bspace\fR
|
|
|
|
\fBbackward-kill-word\fR \fIalt-bs\fR
|
|
|
|
\fBbackward-word\fR \fIalt-b shift-left\fR
|
|
|
|
\fBbeginning-of-line\fR \fIctrl-a home\fR
|
|
|
|
\fBclear-screen\fR \fIctrl-l\fR
|
2015-07-22 15:56:03 +00:00
|
|
|
\fBdelete-char\fR \fIdel\fR
|
|
|
|
\fBdelete-char/eof\fR \fIctrl-d\fR
|
2015-06-21 08:40:36 +00:00
|
|
|
\fBdeselect-all\fR
|
|
|
|
\fBdown\fR \fIctrl-j ctrl-n down\fR
|
|
|
|
\fBend-of-line\fR \fIctrl-e end\fR
|
2015-07-22 13:56:53 +00:00
|
|
|
\fBeof\fR
|
2015-06-21 08:40:36 +00:00
|
|
|
\fBexecute(...)\fR (see below for the details)
|
|
|
|
\fBforward-char\fR \fIctrl-f right\fR
|
|
|
|
\fBforward-word\fR \fIalt-f shift-right\fR
|
|
|
|
\fBignore\fR
|
|
|
|
\fBkill-line\fR
|
|
|
|
\fBkill-word\fR \fIalt-d\fR
|
|
|
|
\fBnext-history\fR (\fIctrl-n\fR on \fB--history\fR)
|
|
|
|
\fBpage-down\fR \fIpgdn\fR
|
|
|
|
\fBpage-up\fR \fIpgup\fR
|
|
|
|
\fBprevious-history\fR (\fIctrl-p\fR on \fB--history\fR)
|
|
|
|
\fBselect-all\fR
|
|
|
|
\fBtoggle\fR
|
|
|
|
\fBtoggle-all\fR
|
|
|
|
\fBtoggle-down\fR \fIctrl-i (tab)\fR
|
|
|
|
\fBtoggle-sort\fR (equivalent to \fB--toggle-sort\fR)
|
|
|
|
\fBtoggle-up\fR \fIbtab (shift-tab)\fR
|
|
|
|
\fBunix-line-discard\fR \fIctrl-u\fR
|
|
|
|
\fBunix-word-rubout\fR \fIctrl-w\fR
|
|
|
|
\fBup\fR \fIctrl-k ctrl-p up\fR
|
|
|
|
\fByank\fR \fIctrl-y\fR
|
2015-05-20 12:25:15 +00:00
|
|
|
.RE
|
2015-06-21 08:40:36 +00:00
|
|
|
|
|
|
|
.RS
|
|
|
|
With \fBexecute(...)\fR action, you can execute arbitrary commands without
|
|
|
|
leaving fzf. For example, you can turn fzf into a simple file browser by
|
|
|
|
binding \fBenter\fR key to \fBless\fR command like follows.
|
|
|
|
|
|
|
|
.RS
|
|
|
|
\fBfzf --bind "enter:execute(less {})"\fR
|
|
|
|
.RE
|
|
|
|
|
|
|
|
\fB{}\fR is the placeholder for the double-quoted string of the current line.
|
|
|
|
If the command contains parentheses, you can use any of the following
|
|
|
|
alternative notations to avoid parse errors.
|
|
|
|
|
|
|
|
\fBexecute[...]\fR
|
|
|
|
\fBexecute~...~\fR
|
|
|
|
\fBexecute!...!\fR
|
|
|
|
\fBexecute@...@\fR
|
|
|
|
\fBexecute#...#\fR
|
|
|
|
\fBexecute$...$\fR
|
|
|
|
\fBexecute%...%\fR
|
|
|
|
\fBexecute^...^\fR
|
|
|
|
\fBexecute&...&\fR
|
|
|
|
\fBexecute*...*\fR
|
|
|
|
\fBexecute;...;\fR
|
|
|
|
\fBexecute/.../\fR
|
|
|
|
\fBexecute|...|\fR
|
|
|
|
\fBexecute:...\fR
|
|
|
|
.RS
|
|
|
|
This is the special form that frees you from parse errors as it does not expect
|
|
|
|
the closing character. The catch is that it should be the last one in the
|
|
|
|
comma-separated list.
|
|
|
|
.RE
|
|
|
|
.RE
|
|
|
|
.TP
|
|
|
|
.BI "--history=" "HISTORY_FILE"
|
|
|
|
Load search history from the specified file and update the file on completion.
|
|
|
|
When enabled, \fBCTRL-N\fR and \fBCTRL-P\fR are automatically remapped to
|
|
|
|
\fBnext-history\fR and \fBprevious-history\fR.
|
|
|
|
.TP
|
|
|
|
.BI "--history-size=" "N"
|
|
|
|
Maximum number of entries in the history file (default: 1000). The file is
|
|
|
|
automatically truncated when the number of the lines exceeds the value.
|
2015-07-21 16:12:50 +00:00
|
|
|
.TP
|
|
|
|
.BI "--header-file=" "FILE"
|
2015-07-23 01:45:01 +00:00
|
|
|
The content of the file will be printed as the sticky header. The lines in the
|
|
|
|
file are displayed in order from top to bottom regardless of \fB--reverse\fR,
|
|
|
|
and are not affected by \fB--with-nth\fR. ANSI color codes are processed even
|
|
|
|
when \fB--ansi\fR is not set.
|
2015-07-21 18:21:20 +00:00
|
|
|
.TP
|
|
|
|
.BI "--header-lines=" "N"
|
2015-07-22 12:24:02 +00:00
|
|
|
The first N lines of the input are treated as the sticky header. When
|
|
|
|
\fB--with-nth\fR is set, the lines are transformed just like the other
|
|
|
|
lines that follow.
|
2015-05-20 16:51:24 +00:00
|
|
|
.SS Scripting
|
|
|
|
.TP
|
|
|
|
.BI "-q, --query=" "STR"
|
|
|
|
Start the finder with the given query
|
|
|
|
.TP
|
|
|
|
.B "-1, --select-1"
|
|
|
|
Automatically select the only match
|
|
|
|
.TP
|
|
|
|
.B "-0, --exit-0"
|
|
|
|
Exit immediately when there's no match
|
|
|
|
.TP
|
|
|
|
.BI "-f, --filter=" "STR"
|
|
|
|
Filter mode. Do not start interactive finder. When used with \fB--no-sort\fR,
|
|
|
|
fzf becomes a fuzzy-version of grep.
|
|
|
|
.TP
|
|
|
|
.B "--print-query"
|
|
|
|
Print query as the first line
|
|
|
|
.TP
|
|
|
|
.BI "--expect=" "KEY[,..]"
|
2015-06-21 08:40:36 +00:00
|
|
|
Comma-separated list of keys that can be used to complete fzf in addition to
|
|
|
|
the default enter key. When this option is set, fzf will print the name of the
|
|
|
|
key pressed as the first line of its output (or as the second line if
|
2015-05-20 16:51:24 +00:00
|
|
|
\fB--print-query\fR is also used). The line will be empty if fzf is completed
|
|
|
|
with the default enter key.
|
|
|
|
.RS
|
|
|
|
e.g. \fBfzf --expect=ctrl-v,ctrl-t,alt-s,f1,f2,~,@\fR
|
|
|
|
.RE
|
2015-05-20 12:25:15 +00:00
|
|
|
.TP
|
2015-03-25 18:06:31 +00:00
|
|
|
.B "--sync"
|
2015-03-28 19:08:37 +00:00
|
|
|
Synchronous search for multi-staged filtering. If specified, fzf will launch
|
|
|
|
ncurses finder only after the input stream is complete.
|
2015-03-25 18:06:31 +00:00
|
|
|
.RS
|
|
|
|
e.g. \fBfzf --multi | fzf --sync\fR
|
|
|
|
.RE
|
|
|
|
|
|
|
|
.SH ENVIRONMENT
|
|
|
|
.TP
|
|
|
|
.B FZF_DEFAULT_COMMAND
|
|
|
|
Default command to use when input is tty
|
|
|
|
.TP
|
|
|
|
.B FZF_DEFAULT_OPTS
|
2015-06-21 16:35:36 +00:00
|
|
|
Default options. e.g. \fBexport FZF_DEFAULT_OPTS="--extended --cycle"\fR
|
2015-03-25 18:06:31 +00:00
|
|
|
|
|
|
|
.SH EXIT STATUS
|
|
|
|
.BR 0 " Normal exit"
|
|
|
|
.br
|
|
|
|
.BR 1 " Interrupted with \fBCTRL-C\fR or \fBESC\fR"
|
|
|
|
|
|
|
|
.SH FIELD INDEX EXPRESSION
|
|
|
|
|
|
|
|
A field index expression can be a non-zero integer or a range expression
|
2015-06-21 08:40:36 +00:00
|
|
|
([BEGIN]..[END]). \fB--nth\fR and \fB--with-nth\fR take a comma-separated list
|
2015-03-25 18:06:31 +00:00
|
|
|
of field index expressions.
|
|
|
|
|
|
|
|
.SS Examples
|
|
|
|
.BR 1 " The 1st field"
|
|
|
|
.br
|
|
|
|
.BR 2 " The 2nd field"
|
|
|
|
.br
|
|
|
|
.BR -1 " The last field"
|
|
|
|
.br
|
|
|
|
.BR -2 " The 2nd to last field"
|
|
|
|
.br
|
|
|
|
.BR 3..5 " From the 3rd field to the 5th field"
|
|
|
|
.br
|
|
|
|
.BR 2.. " From the 2nd field to the last field"
|
|
|
|
.br
|
|
|
|
.BR ..-3 " From the 1st field to the 3rd to the last field"
|
|
|
|
.br
|
|
|
|
.BR .. " All the fields"
|
|
|
|
.br
|
|
|
|
|
|
|
|
.SH EXTENDED SEARCH MODE
|
|
|
|
|
2015-06-21 08:40:36 +00:00
|
|
|
With \fB-x\fR or \fB--extended\fR option, fzf will start in "extended-search
|
2015-03-25 18:06:31 +00:00
|
|
|
mode". In this mode, you can specify multiple patterns delimited by spaces,
|
2015-03-26 01:28:14 +00:00
|
|
|
such as: \fB'wild ^music .mp3$ sbtrkt !rmx\fR
|
2015-03-25 18:06:31 +00:00
|
|
|
|
|
|
|
.SS Exact-match (quoted)
|
|
|
|
A term that is prefixed by a single-quote character (') is interpreted as an
|
2015-03-26 01:28:14 +00:00
|
|
|
"exact-match" (or "non-fuzzy") term. fzf will search for the exact occurrences
|
2015-03-25 18:06:31 +00:00
|
|
|
of the string.
|
|
|
|
|
|
|
|
.SS Anchored-match
|
2015-03-26 01:28:14 +00:00
|
|
|
A term can be prefixed by ^, or suffixed by $ to become an anchored-match term.
|
|
|
|
Then fzf will search for the items that start with or end with the given
|
|
|
|
string. An anchored-match term is also an exact-match term.
|
2015-03-25 18:06:31 +00:00
|
|
|
|
|
|
|
.SS Negation
|
2015-03-26 01:31:11 +00:00
|
|
|
If a term is prefixed by !, fzf will exclude the items that satisfy the term
|
2015-03-25 18:06:31 +00:00
|
|
|
from the result.
|
|
|
|
|
|
|
|
.SS Extended-exact mode
|
2015-03-26 01:28:14 +00:00
|
|
|
If you don't need fuzzy matching at all and do not wish to "quote" (prefixing
|
2015-06-21 08:40:36 +00:00
|
|
|
with ') every word, start fzf with \fB-e\fR or \fB--extended-exact\fR option
|
|
|
|
(instead of \fB-x\fR or \fB--extended\fR).
|
2015-03-25 18:06:31 +00:00
|
|
|
|
|
|
|
.SH AUTHOR
|
2015-03-26 01:31:11 +00:00
|
|
|
Junegunn Choi (\fIjunegunn.c@gmail.com\fR)
|
2015-03-25 18:06:31 +00:00
|
|
|
|
|
|
|
.SH SEE ALSO
|
2015-03-26 01:31:11 +00:00
|
|
|
.I https://github.com/junegunn/fzf
|
2015-03-25 18:06:31 +00:00
|
|
|
|
|
|
|
.SH LICENSE
|
|
|
|
MIT
|