1fzf(1)                 fzf - a command-line fuzzy finder                fzf(1)
2
3
4

NAME

6       fzf - a command-line fuzzy finder
7
8

SYNOPSIS

10       fzf [options]
11
12

DESCRIPTION

14       fzf is a general-purpose command-line fuzzy finder.
15
16

OPTIONS

18   Search mode
19       -x, --extended
20              Extended-search  mode. Since 0.10.9, this is enabled by default.
21              You can disable it with +x or --no-extended.
22
23       -e, --exact
24              Enable exact-match
25
26       -i     Case-insensitive match (default: smart-case match)
27
28       +i     Case-sensitive match
29
30       --literal
31              Do not normalize latin script letters for matching.
32
33       --algo=TYPE
34              Fuzzy matching algorithm (default: v2)
35
36              v2     Optimal scoring algorithm (quality)
37              v1     Faster but not guaranteed  to  find  the  optimal  result
38              (performance)
39
40
41       -n, --nth=N[,..]
42              Comma-separated  list  of  field  index expressions for limiting
43              search scope.  See FIELD INDEX EXPRESSION for the details.
44
45       --with-nth=N[,..]
46              Transform the presentation of each line using  field  index  ex‐
47              pressions
48
49       -d, --delimiter=STR
50              Field  delimiter  regex  for --nth and --with-nth (default: AWK-
51              style)
52
53       --disabled
54              Do not perform search. With this option, fzf  becomes  a  simple
55              selector  interface  rather than a "fuzzy finder". You can later
56              enable the search using enable-search or toggle-search action.
57
58   Search result
59       +s, --no-sort
60              Do not sort the result
61
62       --tac  Reverse the order of the input
63
64              e.g.
65                   history | fzf --tac --no-sort
66
67       --tiebreak=CRI[,..]
68              Comma-separated list of sort criteria to apply when  the  scores
69              are tied.
70
71              length  Prefers line with shorter length
72              begin   Prefers line with matched substring closer to the begin‐
73              ning
74              end     Prefers line with matched substring closer to the end
75              index   Prefers line that appeared earlier in the input stream
76
77              - Each criterion should appear only once in the list
78              - index is only allowed at the end of the list
79              - index is implicitly appended to the list when not specified
80              - Default is length (or equivalently length,index)
81              - If end is found in the list, fzf will scan each line backwards
82
83   Interface
84       -m, --multi
85              Enable multi-select with tab/shift-tab. It optionally  takes  an
86              integer  argument which denotes the maximum number of items that
87              can be selected.
88
89       +m, --no-multi
90              Disable multi-select
91
92       --no-mouse
93              Disable mouse
94
95       --bind=KEYBINDS
96              Comma-separated list of custom key bindings. See KEY/EVENT BIND‐
97              INGS for the details.
98
99       --cycle
100              Enable cyclic scroll
101
102       --keep-right
103              Keep  the  right end of the line visible when it's too long. Ef‐
104              fective only when the query string is empty.
105
106       --no-hscroll
107              Disable horizontal scroll
108
109       --hscroll-off=COL
110              Number of screen columns to keep to the right of the highlighted
111              substring  (default: 10). Setting it to a large value will cause
112              the text to be positioned on the center of the screen.
113
114       --filepath-word
115              Make word-wise movements and actions  respect  path  separators.
116              The following actions are affected:
117
118              backward-kill-word
119              backward-word
120              forward-word
121              kill-word
122
123       --jump-labels=CHARS
124              Label characters for jump and jump-accept
125
126   Layout
127       --height=HEIGHT[%]
128              Display  fzf  window  below the cursor with the given height in‐
129              stead of using the full screen.
130
131       --min-height=HEIGHT
132              Minimum height when --height is given in percent (default:  10).
133              Ignored when --height is not specified.
134
135       --layout=LAYOUT
136              Choose the layout (default: default)
137
138              default       Display from the bottom of the screen
139              reverse       Display from the top of the screen
140              reverse-list   Display from the top of the screen, prompt at the
141              bottom
142
143
144       --reverse
145              A synonym for --layout=reverse
146
147
148       --border[=STYLE]
149              Draw border around the finder
150
151              rounded     Border with rounded corners (default)
152              sharp       Border with sharp corners
153              horizontal  Horizontal lines above and below the finder
154              vertical    Vertical lines on each side of the finder
155              top
156              bottom
157              left
158              right
159              none
160
161
162       --no-unicode
163              Use ASCII characters instead of Unicode box  drawing  characters
164              to draw border
165
166
167       --margin=MARGIN
168              Comma-separated expression for margins around the finder.
169
170              TRBL     Same margin for top, right, bottom, and left
171              TB,RL    Vertical, horizontal margin
172              T,RL,B   Top, horizontal, bottom margin
173              T,R,B,L  Top, right, bottom, left margin
174
175              Each part can be given in absolute number or in percentage rela‐
176              tive to the terminal size with % suffix.
177
178              e.g.
179                   fzf --margin 10%
180                   fzf --margin 1,5%
181
182       --padding=PADDING
183              Comma-separated expression for padding inside the  border.  Pad‐
184              ding is distinguishable from margin only when --border option is
185              used.
186
187              e.g.
188                   fzf --margin 5% --padding 5% --border --preview 'cat {}' \
189                       --color bg:#222222,preview-bg:#333333
190
191              TRBL     Same padding for top, right, bottom, and left
192              TB,RL    Vertical, horizontal padding
193              T,RL,B   Top, horizontal, bottom padding
194              T,R,B,L  Top, right, bottom, left padding
195
196
197       --info=STYLE
198              Determines the display style of finder info.
199
200              default       Display on the next line to the prompt
201              inline        Display on the same line
202              hidden        Do not display finder info
203
204
205       --no-info
206              A synonym for --info=hidden
207
208
209       --prompt=STR
210              Input prompt (default: '> ')
211
212       --pointer=STR
213              Pointer to the current line (default: '>')
214
215       --marker=STR
216              Multi-select marker (default: '>')
217
218       --header=STR
219              The given string will be printed as the sticky header. The lines
220              are  displayed  in the given order from top to bottom regardless
221              of --layout option, and are not  affected  by  --with-nth.  ANSI
222              color codes are processed even when --ansi is not set.
223
224       --header-lines=N
225              The first N lines of the input are treated as the sticky header.
226              When --with-nth is set, the lines are transformed just like  the
227              other lines that follow.
228
229   Display
230       --ansi Enable processing of ANSI color codes
231
232       --tabstop=SPACES
233              Number of spaces for a tab character (default: 8)
234
235       --color=[BASE_SCHEME][,COLOR_NAME[:ANSI_COLOR][:ANSI_ATTRIBUTES]]...
236              Color  configuration.  The name of the base color scheme is fol‐
237              lowed by custom color mappings.
238
239              BASE SCHEME:
240                  (default: dark on 256-color terminal, otherwise 16)
241
242                  dark    Color scheme for dark 256-color terminal
243                  light   Color scheme for light 256-color terminal
244                  16      Color scheme for 16-color terminal
245                  bw      No colors (equivalent to --no-color)
246
247              COLOR NAMES:
248                  fg         Text
249                  bg         Background
250                  preview-fg Preview window text
251                  preview-bg Preview window background
252                  hl         Highlighted substrings
253                  fg+        Text (current line)
254                  bg+        Background (current line)
255                  gutter     Gutter on the left (defaults to bg+)
256                  hl+        Highlighted substrings (current line)
257                  query      Query string
258                  disabled   Query string when search is disabled
259                  info       Info line (match counters)
260                  border     Border around the window (--border and --preview)
261                  prompt     Prompt
262                  pointer    Pointer to the current line
263                  marker     Multi-select marker
264                  spinner    Streaming input indicator
265                  header     Header
266
267              ANSI COLORS:
268                  -1         Default terminal foreground/background color
269                             (or the original color of the text)
270                  0 ~ 15     16 base colors
271                  16 ~ 255   ANSI 256 colors
272                  #rrggbb    24-bit colors
273
274              ANSI ATTRIBUTES: (Only applies to foreground colors)
275                  regular    Clears previously set attributes; should  precede
276              the other ones
277                  bold
278                  underline
279                  reverse
280                  dim
281                  italic
282
283              EXAMPLES:
284
285                   # Seoul256 theme with 8-bit colors
286                   # (https://github.com/junegunn/seoul256.vim)
287                   fzf       --color='bg:237,bg+:236,info:143,border:240,spin‐
288              ner:108' \
289                       --color='hl:65,fg:252,header:65,fg+:252' \
290                       --color='pointer:161,marker:168,prompt:110,hl+:108'
291
292                   # Seoul256 theme with 24-bit colors
293                   fzf       --color='bg:#4B4B4B,bg+:#3F3F3F,info:#BDBB72,bor‐
294              der:#6B6B6B,spinner:#98BC99' \
295                       --color='hl:#719872,fg:#D9D9D9,header:#719872,fg+:#D9D9D9'
296              \
297                       --color='pointer:#E12672,marker:#E17899,prompt:#98BEDE,hl+:#98BC99'
298
299       --no-bold
300              Do not use bold text
301
302       --black
303              Use black background
304
305   History
306       --history=HISTORY_FILE
307              Load  search history from the specified file and update the file
308              on completion.  When enabled, CTRL-N and  CTRL-P  are  automati‐
309              cally remapped to next-history and previous-history.
310
311       --history-size=N
312              Maximum  number  of entries in the history file (default: 1000).
313              The file is automatically truncated when the number of the lines
314              exceeds the value.
315
316   Preview
317       --preview=COMMAND
318              Execute  the  given command for the current line and display the
319              result on the preview window. {} in the command  is  the  place‐
320              holder  that is replaced to the single-quoted string of the cur‐
321              rent line. To transform the replacement  string,  specify  field
322              index expressions between the braces (See FIELD INDEX EXPRESSION
323              for the details).
324
325              e.g.
326                   fzf --preview='head -$LINES {}'
327                   ls -l | fzf  --preview="echo  user={3}  when={-4..-2};  cat
328              {-1}" --header-lines=1
329
330              fzf  exports $FZF_PREVIEW_LINES and $FZF_PREVIEW_COLUMNS so that
331              they represent the exact size of the preview  window.  (It  also
332              overrides  $LINES and $COLUMNS with the same values but they can
333              be reset by the default shell, so prefer to refer  to  the  ones
334              with FZF_PREVIEW_ prefix.)
335
336              A  placeholder  expression starting with + flag will be replaced
337              to the space-separated list of the selected lines (or  the  cur‐
338              rent line if no selection was made) individually quoted.
339
340              e.g.
341                   fzf --multi --preview='head -10 {+}'
342                   git log --oneline | fzf --multi --preview 'git show {+1}'
343
344              When using a field index expression, leading and trailing white‐
345              space is stripped from the replacement string. To  preserve  the
346              whitespace, use the s flag.
347
348              Also,  {q}  is  replaced to the current query string, and {n} is
349              replaced to zero-based ordinal index of the line.  Use  {+n}  if
350              you want all index numbers when multiple lines are selected.
351
352              A  placeholder expression with f flag is replaced to the path of
353              a temporary file that holds the evaluated list. This  is  useful
354              when  you multi-select a large number of items and the length of
355              the evaluated string may exceed ARG_MAX.
356
357              e.g.
358                   # Press CTRL-A to select 100K items and see the sum of  all
359              the numbers.
360                   #  This won't work properly without 'f' flag due to ARG_MAX
361              limit.
362                   seq 100000 | fzf --multi --bind ctrl-a:select-all \
363                                    --preview "awk '{sum+=} END  {print  sum}'
364              {+f}"
365
366              Note  that  you can escape a placeholder pattern by prepending a
367              backslash.
368
369              Preview window will be updated even when there is no  match  for
370              the  current  query if any of the placeholder expressions evalu‐
371              ates to a non-empty string.
372
373              Since 0.24.0, fzf can render partial preview content before  the
374              preview command completes. ANSI escape sequence for clearing the
375              display (CSI 2 J) is supported, so you can use it  to  implement
376              preview window that is constantly updating.
377
378              e.g.
379                    fzf --preview 'for i in $(seq 100000); do
380                      (( i % 200 == 0 )) && printf "\033[2J"
381                      echo "$i"
382                      sleep 0.01
383                    done'
384
385       --preview-window=[POSITION][,SIZE[%]][,border-BOR‐
386       DER_OPT][,[no]wrap][,[no]follow][,[no]cycle][,[no]hidden][,+SCROLL[OFF‐
387       SETS][/DENOM]][,~HEADER_LINES][,default]
388
389              POSITION: (default: right)
390                  up
391                  down
392                  left
393                  right
394
395              Determines the layout of the preview window.
396
397              *  If  the argument contains :hidden, the preview window will be
398              hidden by default until toggle-preview action is triggered.
399
400              * If size is given as 0, preview window will not be visible, but
401              fzf will still execute the command in the background.
402
403              *  Long lines are truncated by default. Line wrap can be enabled
404              with :wrap flag.
405
406              * Preview window will automatically scroll to  the  bottom  when
407              :follow flag is set, similarly to how tail -f works.
408
409                     e.g.
410                           fzf  --preview-window  follow  --preview  'for i in
411                     $(seq 100000); do
412                             echo "$i"
413                             sleep 0.01
414                             (( i % 300 == 0 )) && printf "\033[2J"
415                           done'
416
417              * Cyclic scrolling is enabled with :cycle flag.
418
419              * To change the style of the border of the preview window, spec‐
420              ify  one  of the options for --border with border- prefix.  e.g.
421              border-rounded (border with  rounded  edges,  default),  border-
422              sharp (border with sharp edges), border-left, border-none, etc.
423
424              * [:+SCROLL[OFFSETS][/DENOM]] determines the initial scroll off‐
425              set of the preview window.
426
427                - SCROLL can be either a numeric integer or a single-field in‐
428              dex expression that refers to a numeric integer.
429
430                -  The optional OFFSETS part is for adjusting the base offset.
431              It should be given as a series of signed integers  (-INTEGER  or
432              +INTEGER).
433
434                -  The  final  /DENOM part is for specifying a fraction of the
435              preview window height.
436
437              * ~HEADER_LINES keeps the top N lines as  the  fixed  header  so
438              that they are always visible.
439
440              * default resets all options previously set to the default.
441
442                     e.g.
443                          # Non-default scroll window positions and sizes
444                          fzf --preview="head {}" --preview-window=up,30%
445                          fzf --preview="file {}" --preview-window=down,1
446
447                          # Initial scroll offset is set to the line number of
448                     each line of
449                          # git grep output *minus* 5 lines (-5)
450                          git grep --line-number '' |
451                            fzf --delimiter : --preview  'nl  {1}'  --preview-
452                     window '+{2}-5'
453
454                          #  Preview  with bat, matching line in the middle of
455                     the window below
456                          # the fixed header of the top 3 lines
457                          #
458                          #   ~3    Top 3 lines as the fixed header
459                          #   +{2}  Base scroll offset extracted from the sec‐
460                     ond field
461                          #    +3    Extra offset to compensate for the 3-line
462                     header
463                          #   /2    Put in the middle of the preview area
464                          #
465                          git grep --line-number '' |
466                            fzf --delimiter : \
467                                --preview  'bat  --style=full   --color=always
468                     --highlight-line {2} {1}' \
469                                --preview-window '~3,+{2}+3/2'
470
471                          # Display top 3 lines as the fixed header
472                          fzf  --preview  'bat --style=full --color=always {}'
473                     --preview-window '~3'
474
475
476   Scripting
477       -q, --query=STR
478              Start the finder with the given query
479
480       -1, --select-1
481              If there is only one match for the initial query  (--query),  do
482              not  start  interactive finder and automatically select the only
483              match
484
485       -0, --exit-0
486              If there is no match for the initial  query  (--query),  do  not
487              start interactive finder and exit immediately
488
489       -f, --filter=STR
490              Filter  mode.  Do  not  start interactive finder. When used with
491              --no-sort, fzf becomes a fuzzy-version of grep.
492
493       --print-query
494              Print query as the first line
495
496       --expect=KEY[,..]
497              Comma-separated list of keys that can be used to complete fzf in
498              addition  to the default enter key. When this option is set, fzf
499              will print the name of the key pressed as the first line of  its
500              output  (or  as  the second line if --print-query is also used).
501              The line will be empty if fzf is completed with the default  en‐
502              ter  key.  If  --expect  option is specified multiple times, fzf
503              will expect the union of the keys. --no-expect  will  clear  the
504              list.
505
506              e.g.
507                   fzf --expect=ctrl-v,ctrl-t,alt-s --expect=f1,f2,~,@
508
509       --read0
510              Read  input delimited by ASCII NUL characters instead of newline
511              characters
512
513       --print0
514              Print output delimited by ASCII NUL characters instead  of  new‐
515              line characters
516
517       --no-clear
518              Do  not  clear  finder  interface on exit. If fzf was started in
519              full screen mode, it  will  not  switch  back  to  the  original
520              screen,  so  you'll  have  to manually run tput rmcup to return.
521              This option can be used to avoid flickering of the  screen  when
522              your application needs to start fzf multiple times in order.
523
524       --sync Synchronous search for multi-staged filtering. If specified, fzf
525              will launch ncurses finder only after the input stream  is  com‐
526              plete.
527
528              e.g. fzf --multi | fzf --sync
529
530       --version
531              Display version information and exit
532
533
534       Note that most options have the opposite versions with --no- prefix.
535
536

ENVIRONMENT VARIABLES

538       FZF_DEFAULT_COMMAND
539              Default  command  to use when input is tty. On *nix systems, fzf
540              runs the command with $SHELL -c if SHELL is set, otherwise  with
541              sh  -c, so in this case make sure that the command is POSIX-com‐
542              pliant.
543
544       FZF_DEFAULT_OPTS
545              Default options. e.g. export FZF_DEFAULT_OPTS="--extended  --cy‐
546              cle"
547
548

EXIT STATUS

550       0      Normal exit
551       1      No match
552       2      Error
553       130    Interrupted with CTRL-C or ESC
554
555

FIELD INDEX EXPRESSION

557       A  field  index expression can be a non-zero integer or a range expres‐
558       sion ([BEGIN]..[END]). --nth and --with-nth take a comma-separated list
559       of field index expressions.
560
561
562   Examples
563       1      The 1st field
564       2      The 2nd field
565       -1     The last field
566       -2     The 2nd to last field
567       3..5   From the 3rd field to the 5th field
568       2..    From the 2nd field to the last field
569       ..-3   From the 1st field to the 3rd to the last field
570       ..     All the fields
571
572

EXTENDED SEARCH MODE

574       Unless  specified  otherwise, fzf will start in "extended-search mode".
575       In this mode, you can specify multiple patterns  delimited  by  spaces,
576       such as: 'wild ^music .mp3$ sbtrkt !rmx
577
578       You  can  prepend  a backslash to a space (\ ) to match a literal space
579       character.
580
581
582   Exact-match (quoted)
583       A term that is prefixed by a single-quote character (') is  interpreted
584       as  an "exact-match" (or "non-fuzzy") term. fzf will search for the ex‐
585       act occurrences of the string.
586
587
588   Anchored-match
589       A term can be prefixed by ^, or suffixed by $ to  become  an  anchored-
590       match  term.  Then fzf will search for the lines that start with or end
591       with the given string. An anchored-match term is  also  an  exact-match
592       term.
593
594
595   Negation
596       If a term is prefixed by !, fzf will exclude the lines that satisfy the
597       term from the result. In this case, fzf performs  exact  match  by  de‐
598       fault.
599
600
601   Exact-match by default
602       If  you don't prefer fuzzy matching and do not wish to "quote" (prefix‐
603       ing with ') every word, start fzf with -e or --exact option. Note  that
604       when --exact is set, '-prefix "unquotes" the term.
605
606
607   OR operator
608       A  single  bar  character term acts as an OR operator. For example, the
609       following query matches entries that start with core and end  with  ei‐
610       ther go, rb, or py.
611
612       e.g. ^core go$ | rb$ | py$
613
614

KEY/EVENT BINDINGS

616       --bind  option  allows you to bind a key or an event to one or more ac‐
617       tions. You can use it to customize key bindings  or  implement  dynamic
618       behaviors.
619
620       --bind  takes a comma-separated list of binding expressions. Each bind‐
621       ing expression is KEY:ACTION or EVENT:ACTION.
622
623       e.g.
624            fzf --bind=ctrl-j:accept,ctrl-k:kill-line
625
626
627   AVAILABLE KEYS: (SYNONYMS)
628       ctrl-[a-z]
629       ctrl-space
630       ctrl-\
631       ctrl-]
632       ctrl-^      (ctrl-6)
633       ctrl-/      (ctrl-_)
634       ctrl-alt-[a-z]
635       alt-[*]     (Any case-sensitive single character is allowed)
636       f[1-12]
637       enter       (return ctrl-m)
638       space
639       bspace      (bs)
640       alt-up
641       alt-down
642       alt-left
643       alt-right
644       alt-enter
645       alt-space
646       alt-bspace  (alt-bs)
647       tab
648       btab        (shift-tab)
649       esc
650       del
651       up
652       down
653       left
654       right
655       home
656       end
657       insert
658       pgup        (page-up)
659       pgdn        (page-down)
660       shift-up
661       shift-down
662       shift-left
663       shift-right
664       alt-shift-up
665       alt-shift-down
666       alt-shift-left
667       alt-shift-right
668       left-click
669       right-click
670       double-click
671       or any single character
672
673
674   AVAILABLE EVENTS:
675       change
676              Triggered whenever the query string is changed
677
678              e.g.
679                   # Move cursor to the first  entry  whenever  the  query  is
680              changed
681                   fzf --bind change:first
682
683       backward-eof
684              Triggered  when the query string is already empty and you try to
685              delete it backward.
686
687              e.g.
688                   fzf --bind backward-eof:abort
689
690
691   AVAILABLE ACTIONS:
692       A key or an event can be bound to one or more of the following actions.
693
694         ACTION:                   DEFAULT BINDINGS (NOTES):
695           abort                     ctrl-c  ctrl-g  ctrl-q  esc
696           accept                    enter   double-click
697           accept-non-empty          (same as accept except that  it  prevents
698       fzf from exiting without selection)
699           backward-char             ctrl-b  left
700           backward-delete-char      ctrl-h  bspace
701           backward-delete-char/eof    (same  as  backward-delete-char  except
702       aborts fzf if query is empty)
703           backward-kill-word        alt-bs
704           backward-word             alt-b   shift-left
705           beginning-of-line         ctrl-a  home
706           cancel                    (clear query string if not  empty,  abort
707       fzf otherwise)
708           change-prompt(...)        (change prompt to the given string)
709           clear-screen              ctrl-l
710           clear-selection           (clear multi-selection)
711           close                      (close preview window if open, abort fzf
712       otherwise)
713           clear-query               (clear query string)
714           delete-char               del
715           delete-char/eof           ctrl-d (same as delete-char except aborts
716       fzf if query is empty)
717           deselect
718           deselect-all              (deselect all matches)
719           disable-search            (disable search functionality)
720           down                      ctrl-j  ctrl-n  down
721           enable-search             (enable search functionality)
722           end-of-line               ctrl-e  end
723           execute(...)              (see below for the details)
724           execute-silent(...)       (see below for the details)
725           first                     (move to the first match)
726           forward-char              ctrl-f  right
727           forward-word              alt-f   shift-right
728           ignore
729           jump                      (EasyMotion-like 2-keystroke movement)
730           jump-accept               (jump and accept)
731           kill-line
732           kill-word                 alt-d
733           last                      (move to the last match)
734           next-history              (ctrl-n on --history)
735           page-down                 pgdn
736           page-up                   pgup
737           half-page-down
738           half-page-up
739           preview(...)              (see below for the details)
740           preview-down              shift-down
741           preview-up                shift-up
742           preview-page-down
743           preview-page-up
744           preview-half-page-down
745           preview-half-page-up
746           preview-bottom
747           preview-top
748           previous-history          (ctrl-p on --history)
749           print-query               (print query and exit)
750           refresh-preview
751           reload(...)               (see below for the details)
752           replace-query              (replace  query  string with the current
753       selection)
754           select
755           select-all                (select all matches)
756           toggle                    (right-click)
757           toggle-all                (toggle all matches)
758           toggle+down               ctrl-i  (tab)
759           toggle-in                 (--layout=reverse*  ?  toggle+up  :  tog‐
760       gle+down)
761           toggle-out                 (--layout=reverse*  ? toggle+down : tog‐
762       gle+up)
763           toggle-preview
764           toggle-preview-wrap
765           toggle-search             (toggle search functionality)
766           toggle-sort
767           toggle+up                 btab    (shift-tab)
768           unbind(...)               (unbind bindings)
769           unix-line-discard         ctrl-u
770           unix-word-rubout          ctrl-w
771           up                        ctrl-k  ctrl-p  up
772           yank                      ctrl-y
773
774
775   ACTION COMPOSITION
776       Multiple actions can be chained using + separator.
777
778       e.g.
779            fzf --multi --bind 'ctrl-a:select-all+accept'
780            fzf --multi --bind 'ctrl-a:select-all' --bind 'ctrl-a:+accept'
781
782
783   ACTION ARGUMENT
784       An action denoted with (...) suffix takes an argument.
785
786       e.g.
787            fzf --bind 'ctrl-a:change-prompt(NewPrompt> )'
788            fzf --bind 'ctrl-v:preview(cat {})' --preview-window hidden
789
790       If the argument contains parentheses, fzf may fail to parse the expres‐
791       sion.  In that case, you can use any of the following alternative nota‐
792       tions to avoid parse errors.
793
794           action-name[...]
795           action-name~...~
796           action-name!...!
797           action-name@...@
798           action-name#...#
799           action-name$...$
800           action-name%...%
801           action-name^...^
802           action-name&...&
803           action-name*...*
804           action-name;...;
805           action-name/.../
806           action-name|...|
807           action-name:...
808              The last one is the special form that frees you from  parse  er‐
809              rors  as  it does not expect the closing character. The catch is
810              that it should be the last one in the  comma-separated  list  of
811              key-action pairs.
812
813
814   COMMAND EXECUTION
815       With  execute(...)  action,  you can execute arbitrary commands without
816       leaving fzf. For example, you can turn fzf into a simple  file  browser
817       by binding enter key to less command like follows.
818
819           fzf --bind "enter:execute(less {})"
820
821       You can use the same placeholder expressions as in --preview.
822
823       fzf switches to the alternate screen when executing a command. However,
824       if the command is expected to complete quickly, and you are not  inter‐
825       ested  in  its  output,  you  might want to use execute-silent instead,
826       which silently executes the command without the  switching.  Note  that
827       fzf will not be responsive until the command is complete. For asynchro‐
828       nous execution, start your command as a background  process  (i.e.  ap‐
829       pending &).
830
831       On  *nix  systems, fzf runs the command with $SHELL -c if SHELL is set,
832       otherwise with sh -c, so in this case make sure  that  the  command  is
833       POSIX-compliant.
834
835
836   RELOAD INPUT
837       reload(...) action is used to dynamically update the input list without
838       restarting fzf. It takes the same command template with placeholder ex‐
839       pressions as execute(...).
840
841       See https://github.com/junegunn/fzf/issues/1750 for more info.
842
843       e.g.
844            # Update the list of processes by pressing CTRL-R
845            ps -ef | fzf --bind 'ctrl-r:reload(ps -ef)' --header 'Press CTRL-R
846       to reload' \
847                         --header-lines=1 --layout=reverse
848
849            # Integration with ripgrep
850            RG_PREFIX="rg --column --line-number  --no-heading  --color=always
851       --smart-case "
852            INITIAL_QUERY="foobar"
853            FZF_DEFAULT_COMMAND="$RG_PREFIX '$INITIAL_QUERY'" \
854              fzf --bind "change:reload:$RG_PREFIX {q} || true" \
855                  --ansi --disabled --query "$INITIAL_QUERY"
856
857
858   PREVIEW BINDING
859       With  preview(...)  action,  you can specify multiple different preview
860       commands in addition to the default preview command given by  --preview
861       option.
862
863       e.g.
864
865            # Default preview command with an extra preview binding
866            fzf --preview 'file {}' --bind '?:preview:cat {}'
867
868            # A preview binding with no default preview command
869            # (Preview window is initially empty)
870            fzf --bind '?:preview:cat {}'
871
872            #  Preview window hidden by default, it appears when you first hit
873       '?'
874            fzf --bind '?:preview:cat {}' --preview-window hidden
875
876

AUTHOR

878       Junegunn Choi (junegunn.c@gmail.com)
879
880

SEE ALSO

882       Project homepage:
883              https://github.com/junegunn/fzf
884
885       Extra Vim plugin:
886              https://github.com/junegunn/fzf.vim
887
888

LICENSE

890       MIT
891
892
893
894fzf 0.27.1                         May 2021                             fzf(1)
Impressum