Suositut: Tiedot päivitetty 27. lokakuuta 2026

Kategoriat

Internet1 356
Viestintä321
Ääni ja video898
Grafiikka ja suunnittelu539
Toimisto ja tuottavuus1 124
Kehitystyökalut3 134
Tekoälytyökalut529
Tietoturva ja yksityisyys385
Järjestelmätyökalut3 114
Pelit523
Opiskelu ja tiede239
Verkko ja IT284

fzf: vanhemmat versiot ja versiohistoria

A general-purpose command-line fuzzy finder

Junegunn Choi Päätteet ja komentorivi #10 Päätteet ja komentorivi

fzf-ohjelmasta on luettelossa 61 versiota, ensimmäinen 24. tammikuuta 2023 ja uusin 0.74.5. Jokainen versio linkittää julkaisijan omiin asennustiedostoihin.

2023: 10 10 23 2024: 22 22 24 2025: 17 17 25 2026: 12 12 26

61 versiota 4 vuoden aikana · noin 16 vuodessa

VersioPäivämääräKokoTiedostot
0.74.5Uusin 11. lokakuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
- Fixed --popup unzooming the window when opened over a zoomed pane on tmux 3.8 or above (#4927, junegunn/fzf.vim#1625) (@jereviikari)
- On tmux 3.7, the window is still unzoomed, as tmux 3.7b crashes when a floating pane is created over a zoomed window
- Fixed --gap-line cutting a grapheme cluster when filling the last cells of the line (#4920)
- Fixed an escape sequence fzf does not recognize being partly consumed, which leaked the rest into the query (#4926)
- Fixed a key lost when it arrived in the same read as an escape sequence
- Fixed focus event not triggered after reload when the new item is at the same position as the previous one (#4930)
- With --id-nth, the event is not triggered if the focus moves directly from an item to another item with the same key
- A focus binding that runs reload now triggers itself again after each reload, unless --id-nth is set and the key does not change
- Security fixes
- fzf-tmux no longer evaluates an attached layout size (e.g. -l50) via bash arithmetic, which could run commands or inject tmux flags (GHSA-w6x2-f5m4-xw82)
- zsh completion now creates its FIFO in a private mktemp -d directory instead of a predictable /tmp path (GHSA-7rj6-7pqx-v7rm)
0.74.4 12. syyskuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
- Fixed an escape sequence split across reads being parsed as a fragment, which leaked the rest into the query (#4899)
- e.g. A terminal answering the startup DECRQM query late left ?2004;2$y, CTRL-UP left 5A, and SGR mouse input left 0;1;1M
- Fixed --tiebreak=pathname not detecting the last path separator when the line contains a non-ASCII character before it (#4902)
- Fixed progress in the --listen status payload staying at 100 while a new search was running, which made a snapshot with a new query and the previous result set look complete (#4903)
- It is now reset when a search starts and reaches 100 on the final result, so progress of 100 means the matches belong to the query reported next to them
- Fixed adaptive height not reserving a line for the divider of an inline header or footer border, so the list came up one line short for each of them (#4904)
- e.g. seq 10 | fzf --height=~100% --list-border --header-lines=1 --header-lines-border=inline
- Fixed fzf erasing the line the prompt was on when it exits, which made the last line of the prompt flicker in fish, bash, and nushell (#4913)
- Fixed fzf exiting with status 2 while waiting for a key, when --listen is used and 100+ signals interrupt the wait (#4917)
- Vim plugin
- fzf no longer blocks the editor, so live previews keep working while fzf is open
- fzf#run returns an empty list when it runs fzf asynchronously. Use sink, sinklist, or exit to get the result
- The popup layout now works under Zellij
- Added popup as a synonym of the tmux layout key
let g:fzf_layout = { 'popup': '90%,70%' }
- fzf now opens in a tmux or Zellij floating pane by default, so the window it was started from stays visible and can be used while fzf is running
- Requires tmux 3.7+ or Zellij 0.44+
- Set g:fzf_layout to pick a different layout
- fish
- Fixed custom CTRL-T command not using the prefixed target directory in some cases (#4498) (@bitraid)
- Optimized description alignment of completion items (#4910) (@bitraid)
- nushell
- Added key bindings for Helix editing modes, on nushell 0.115.0 or above (#4914) (@sim590)
- Fixed CTRL-T inserting the selected paths unquoted
- p4p3r (@P4P3R-HAK) reported the security vulnerability and suggested the fix
0.74.3 17. elokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
- Performance optimizations for non-ASCII input
- ASCII queries are up to 16x faster
- Non-ASCII queries are up to 12x faster
- Reading accented Latin input is up to 37% faster
- Reading CJK input reduces memory use by up to 29%
- ASCII input is unaffected
- Fixed an image from a preview command being torn apart when its rows are separated by IND instead of newlines, as chafa does under tmux (#4885)
- Fixed replace-query corrupting the item text when the query is edited afterwards
- fzf no longer turns bracketed paste mode off on exit when the terminal already had it on, which broke pasting in shells that run fzf from a line editor widget (#4887)
- Fixed startup blocking on terminals that never answer escape sequences, such as FreeBSD virtual terminals. fzf waited for a reply until a key was pressed, then dropped that keystroke (#2860, #976)
0.74.2 1. elokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
- Performance optimizations for short queries
- Short queries scan the largest candidate sets, and the first keystroke scans the whole input
- Single-character queries are up to 2.4x faster
- Two-character queries are up to 1.4x faster
- Faster sorting of search results, skipping redundant radix passes
- change-border-label and transform-border-label now work on the native border of a tmux or Zellij floating pane
- Fixed Kitty graphics sequences from a preview command being taken by tmux as pane title requests
- Fixed an image at the top of the preview being torn by --preview-window ~N
- Fixed nondeterministic match highlight positions
- Fixed signal and resize handlers persisting after Run() returns when fzf is used as a library
- fzf now detects terminal resize on Windows in --height mode (#4790) (@Cyrus580529)
- fish: fixed history command being affected by user initialization scripts, and improved timestamp colors in CTRL-R (#4862) (@bitraid)
- zsh: fixed CTRL-R not propagating the exit status of fzf when perl is available (#4871) (@LangLangBart, @Toliak)
- zsh: fixed chpwd hook functions being called twice by ALT-C (#4879) (@LangLangBart, @lucc)
0.74.1 18. heinäkuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
- The default separator on the info line is no longer shown when the input section is already visually separated from the list section by a border line
# No separator shown below the header border
fzf --style full --input-border none --header foo
# Separator shown; no border separates the input section from the list section
fzf --style full --input-border none --header foo --no-header-border
# No separator below the border of the preview window at 'next' position
fzf --preview : --preview-window next
# Conversely, separator is now shown when the input border does not draw
# a line facing the list section
fzf --input-border bottom
- Rendering improvements
- Each frame is now wrapped in synchronized update mode (mode 2026) to reduce flickering on supported terminals
- Reduced rendering output by 10-23% by skipping redundant SGR sequences
- Fixed ghost characters and misplaced colors inside Zellij by using CHA instead of CR + CUF for horizontal cursor movement (#4858, zellij-org/zellij#5370)
- Fixed cursor restoration on exit with --height --no-clear inside Neovim terminal by using DECSC/DECRC instead of CSI s/CSI u
- nushell: fixed deprecation error of str downcase on nushell 0.114.0 or above (#4857) (@sim590)
- Each release now includes .deb packages for easy installation on Debian-based distros (#4859)
0.74.0 6. heinäkuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Release highlights: https://junegunn.github.io/fzf/releases/0.74.0/
- On tmux 3.7 or above, --popup starts fzf in a floating pane instead of a popup (#4850)
- Unlike a popup, a floating pane is not modal; you can switch to other panes and windows while fzf is running, move and resize the pane with the mouse, zoom it to fullscreen, and use copy-mode in it
- A floating pane always has a native border, which is what makes the pane movable and resizable, so border-native is implied
- A popup is used instead when a border style is explicitly specified with --border, so that the fzf-drawn border is the only border shown (none and line are treated as no border)
fzf --popup --border
- --border-label is set as the title of the floating pane, and is displayed on the border if pane-border-status is enabled in tmux
fzf --popup --border-label ' fzf '
- On Zellij, --popup uses the native border by default, consistent with tmux, so that the pane can be moved and resized with the mouse; fzf draws its own border when a border style is explicitly specified with --border
- --border-label is set as the name of the pane, displayed on the native border
- Added result-final event, a variant of result that is not triggered while the input stream is still open (#4835)
- Use it for one-shot, per-query actions that would otherwise re-fire on every intermediate snapshot during loading
# 'result' fires per intermediate snapshot (header keeps updating during load);
# 'result-final' fires once after the stream closes (footer shows the final count)
(seq 100; sleep 1; seq 100) | fzf --query 1 \
--bind 'result:transform-header(echo result: $FZF_MATCH_COUNT),result-final:transform-footer(echo final: $FZF_MATCH_COUNT)'
- Added wait action to block subsequent actions until search completes (#4825)
- Useful for chaining query-changing actions with motion actions to ensure operations on complete results
# Wait for search to complete before moving to the best match
fzf --bind 'start:change-query(foo)+wait+best'
- The initial loading of the input is also considered a search in progress, so start:wait can be used to wait until the input is fully loaded
# Move to the last item after the input is fully loaded
(seq 1000; sleep 1; seq 1001 2000) | fzf --bind 'start:wait+last'
- Bound alt-left to backward-word and alt-right to forward-word by default (#4833)
- Bug fixes and improvements
- Skip $FZF_CURRENT_ITEM export when the item is larger than 64 KB; a huge item can overflow ARG_MAX and break preview and other child commands with E2BIG (#4806)
- transform and bg-transform now allow a bare put action in the output to insert the key that triggered the action
# Insert the typed key ('a') into the query
fzf --bind 'a:transform:echo put'
- ALT-C in zsh no longer resolves symbolic links when changing the directory, consistent with the cd builtin (#4816) (@silverneko)
- Fixed horizontal mouse wheel events being treated as vertical scrolling (#4848) (@jason5122)
- Fixed bw theme not inheriting overridden colors
- fish: CTRL-R now works when $fish_color_normal or $fish_color_comment is empty or invalid (#4831) (@bitraid)
- Fixed empty-shell detection in the install script (#4813)
- Fixed the install script writing nushell source lines into the config files of other shells (#4812)
0.73.1 25. toukokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
- Bug fixes
- Skip $FZF_CURRENT_ITEM export when the item contains a NUL byte; exec(2) rejects the env, breaking preview and other child commands (#4806)
- Fixed O(n^2) HTTP body accumulation in --listen; a single ~390 KB request could block the single-threaded server for ~8 s (Michal Majchrowicz, Marcin Wyczechowski, AFINE Team)
0.73.0 23. toukokuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Release highlights: https://junegunn.github.io/fzf/releases/0.73.0/
- Nushell integration via fzf --nushell and the installer (#4630) (@sim590)
- New --preview-window=next position that places the preview adjacent to the input section, on the list side: above the input in the default layout, below it in --layout=reverse (#4798)
- Timer-driven every(N) event for --bind, where N is seconds
- Added $FZF_IDLE_TIME (whole seconds) and $FZF_IDLE_TIME_MS (milliseconds), holding the elapsed time since the last user activity
- Pair with every(N) to build idle-based behavior such as auto-accept or auto-quit (#1211)
# Live process list; --track --id-nth 2 keeps the cursor on the same PID across reloads
fzf --header-lines 1 --track --id-nth 2 --bind 'start,every(2):reload-sync:ps -ef'
# Auto-accept after 10 seconds of inactivity, with a countdown in the footer after 5s
fzf --bind 'every(1):bg-transform:
if [[ $FZF_IDLE_TIME -lt 5 ]]; then echo change-footer:
elif [[ $FZF_IDLE_TIME -lt 10 ]]; then echo "change-footer:auto-accept in $((10 - FZF_IDLE_TIME))s"
else echo accept
fi'
- Added $FZF_CURRENT_ITEM for shells where quoting {} is awkward (#4802)
- Bug fixes
- Scoring: non-word characters at the start of input or after a delimiter now receive the same boundary bonus as word characters (#4795)
- change-preview-window no longer resets wrap / wrap-word state set via toggle-preview-wrap / toggle-preview-wrap-word (#4791)
- Stripped UTF-8-encoded C1 control characters from rendered items to prevent terminal control-sequence injection
- Fixed integer-overflow panic in FuzzyMatchV2 on 32-bit builds (Michal Majchrowicz, Marcin Wyczechowski, AFINE Team)
- Fixed bg-transform reload / exclude payloads being dropped
- Fixed rendering glitch with preview window on the left combined with footer
0.72.0 26. huhtikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Release highlights: https://junegunn.github.io/fzf/releases/0.72.0/
- --header-border, --header-lines-border, and --footer-border now accept a new inline style that embeds the section inside the list frame, separated from the list content by a horizontal line. When the list border has side segments, the separator joins them as T-junctions.
- Requires a --list-border shape that has both top and bottom segments (rounded, sharp, bold, double, block, thinblock, or horizontal); falls back to line otherwise. horizontal has no side borders, so the separator is drawn without T-junction endpoints.
- Sections stack. Example combining all three:
ps -ef | fzf --reverse --style full \
--header 'Select a process' --header-lines 1 \
--bind 'load:transform-footer:echo $FZF_TOTAL_COUNT processes' \
--header-border dashed --header-first \
--header-lines-border inline --footer-border inline
- --header-label and --footer-label render on their respective separator row.
- The separator inherits --color list-border when the section's own border color is not explicitly set.
- inline takes precedence over --header-first: the inline section stays inside the list frame. --header-border=inline requires --header-lines-border to be inline or unset.
- New dashed border style with dashed edges (╶ / ┆) and rounded corners.
- --border=dashed, --list-border=dashed, etc.
- Works with inline sections (T-junctions render correctly).
- [vim] Move and resize popup window when detecting VimResized event (#4778) (@Vulcalien)
- Bug fixes
- Fixed gutter display in --style=minimal
- Fixed arrow keys / Home / End without modifiers being ignored under the kitty keyboard protocol (#4776) (@TymekDev)
- bash: Persist history deletion when histappend is on (#4764)
0.71.0 4. huhtikuuta 2026 — 64-bittinen ZIPARM64 ZIP
Muutosloki
Release highlights: https://junegunn.github.io/fzf/releases/0.71.0/
- Added --popup as a new name for --tmux with Zellij support
- --popup starts fzf in a tmux popup or a Zellij floating pane
- --tmux is now an alias for --popup
- Requires tmux 3.3+ or Zellij 0.44+
- Cross-reload item identity with --id-nth
- Added --id-nth=NTH to define item identity fields for cross-reload operations
- When a reload is triggered with tracking enabled, fzf searches for the tracked item by its identity fields in the new list.
- --track --id-nth .. tracks by the entire line
- --track --id-nth 1 tracks by the first field
- --track without --id-nth retains the existing index-based tracking behavior
- The UI is temporarily blocked (prompt dimmed, input disabled) until the item is found or loading completes.
- Press Escape or Ctrl-C to cancel the blocked state without quitting
- Info line shows +T* / +t* while searching
- With --multi, selected items are preserved across reload-sync by matching their identity fields
- Performance improvements
- The search performance now scales linearly with the number of CPU cores, as we dropped static partitioning to allow better load balancing across threads.
=== query: 'linux' ===
[all] baseline: 21.95ms current: 17.47ms (1.26x) matches: 179966 (12.79%)
[1T] baseline: 179.63ms current: 180.53ms (1.00x) matches: 179966 (12.79%)
[2T] baseline: 97.38ms current: 90.05ms (1.08x) matches: 179966 (12.79%)
[4T] baseline: 53.83ms current: 44.77ms (1.20x) matches: 179966 (12.79%)
[8T] baseline: 41.66ms current: 22.58ms (1.84x) matches: 179966 (12.79%)
- Improved the cache structure, reducing memory footprint per entry by 86x.
- With the reduced per-entry cost, the cache now has broader coverage.
- Shell integration improvements
- bash: CTRL-R now supports multi-select and shift-delete to delete history entries (#4715)
- fish:
- Improved command history (CTRL-R) (#4703) (@bitraid)
- Rewrite completion script (SHIFT-TAB) (#4731) (@bitraid)
- Increase minimum fish version requirement to 3.4.0 (#4731) (@bitraid)
- GET / HTTP endpoint now includes positions field in each match entry, providing the indices of matched characters for external highlighting (#4726)
- Allow adaptive height with negative value (--height=~-HEIGHT) (#4682)
- Bug fixes
- --walker=follow no longer follows symlinks whose target is an ancestor of the walker root, avoiding severe resource exhaustion when a symlink points outside the tree (e.g. Wine's z: → /) (#4710)
- Fixed AWK tokenizer not treating a new line character as whitespace
- Fixed --{accept,with}-nth removing trailing whitespaces with a non-default --delimiter
- Fixed OSC8 hyperlinks being mangled when the URL contains unicode characters (#4707)
- Fixed --with-shell not handling quoted arguments correctly (#4709)
- Fixed child processes not being terminated on Windows (#4723) (@pjeby)
- Fixed preview scrollbar not rendered after toggle-preview
- Fixed preview follow/scroll with long wrapped lines
- Fixed tab width when --frozen-left is used
- Fixed preview mouse events being processed when no preview window exists
- zsh: Fixed history widget when sh_glob option is on (#4714) (@EvanHahn)
0.70.0 2. maaliskuuta 2026 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added change-with-nth action for dynamically changing the --with-nth option.
- Requires --with-nth to be set initially.
- Multiple options separated by | can be given to cycle through.
echo -e "a b c\nd e f\ng h i" | fzf --with-nth .. \
--bind 'space:change-with-nth(1|2|3|1,3|2,3|)'
- Added change-header-lines action for dynamically changing the --header-lines option
- Performance improvements (1.3x to 1.9x faster filtering depending on query)
=== query: 'l' ===
[all] baseline: 168.87ms current: 95.21ms (1.77x) matches: 5069891 (94.78%)
[1T] baseline: 1652.22ms current: 841.40ms (1.96x) matches: 5069891 (94.78%)
=== query: 'lin' ===
[all] baseline: 343.27ms current: 252.59ms (1.36x) matches: 3516507 (65.74%)
[1T] baseline: 3199.89ms current: 2230.64ms (1.43x) matches: 3516507 (65.74%)
=== query: 'linux' ===
[all] baseline: 85.47ms current: 63.72ms (1.34x) matches: 307229 (5.74%)
[1T] baseline: 774.64ms current: 589.32ms (1.31x) matches: 307229 (5.74%)
=== query: 'linuxlinux' ===
[all] baseline: 55.13ms current: 35.67ms (1.55x) matches: 12230 (0.23%)
[1T] baseline: 461.99ms current: 332.38ms (1.39x) matches: 12230 (0.23%)
=== query: 'linuxlinuxlinux' ===
[all] baseline: 51.77ms current: 32.53ms (1.59x) matches: 865 (0.02%)
[1T] baseline: 409.99ms current: 296.33ms (1.38x) matches: 865 (0.02%)
- Fixed nth attribute merge order to respect precedence hierarchy (#4697)
- bash: Replaced printf with builtin printf to bypass local indirections (#4684) (@DarrenBishop)
0.68.0 20. helmikuuta 2026 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Implemented word wrapping in the list section
- Added --wrap=word (or --wrap-word) option and toggle-wrap-word action for word-level line wrapping in the list section
- Changed default binding of ctrl-/ and alt-/ from toggle-wrap to toggle-wrap-word
fzf --wrap=word
- Implemented word wrapping in the preview window
- Added wrap-word flag for --preview-window to enable word-level wrapping
- Added toggle-preview-wrap-word action
fzf --preview 'bat --style=plain --color=always {}' \
--preview-window wrap-word \
--bind space:toggle-preview-wrap-word
- Added support for underline style variants in --color: underline-double, underline-curly, underline-dotted, underline-dashed
fzf --color 'fg:underline-curly,current-fg:underline-dashed'
- Added support for underline styles (4:N) and underline colors (SGR 58/59)
# In the list section
printf '\e[4:3;58;2;255;0;0mRed curly underline\e[0m\n' | fzf --ansi
# In the preview window
fzf --preview "printf '\e[4:3;58;2;255;0;0mRed curly underline\e[0m\n'"
- Added --preview-wrap-sign to set a different wrap indicator for the preview window
- Added alt-gutter color option (#4602) (@hedgieinsocks)
- Added $FZF_WRAP environment variable to child processes (char or word when wrapping is enabled) (#4672) (@bitraid)
- fish: Improved command history (CTRL-R) (#4672) (@bitraid)
- Enabled syntax highlighting in the list on fish 4.3.3+
- Added syntax-highlighted preview window that auto-shows for long or multi-line commands
- Added ALT-ENTER to reformat and insert selected commands
- Improved handling of bulk deletion of selected history entries (SHIFT-DELETE)
- Added fish completion support (#4605) (@lalvarezt)
- zsh: Handle multi-line history selection (#4595) (@LangLangBart)
- Bug fixes
- Fixed _fzf_compgen_{path,dir} to respect FZF_COMPLETION_{PATH,DIR}_OPTS (#4592) (@shtse8, @LangLangBart)
- Fixed --preview-window follow not working correctly with wrapping (#3243, #4258)
- Fixed symlinks to directories being returned as files (#4676) (@skk64)
- Fixed SIGHUP signal handling (#4668) (@LangLangBart)
- Fixed preview process not killed on exit (#4667)
- Fixed coloring of items with zero-width characters (#4620)
- Fixed track-current unset after a combined movement action (#4649)
- Fixed --accept-nth being ignored in filter mode (#4636) (@charemma)
- Fixed display width calculation with maxWidth (#4596) (@LangLangBart)
- Fixed clearing of the rest of the current line on start (#4652)
- Fixed x-api-key header not required for GET requests (#4627)
- Fixed key reading not cancelled when execute triggered via a server request (#4653)
- Fixed rebind of readline command redraw-current-line (#4635) (@jameslazo)
- Fixed fzf-tmux TERM quoting and added mktemp usage (#4664) (@Goofygiraffe06)
- Do not allow very long queries in FuzzyMatchV2 (#4608)
0.67.0 16. marraskuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added --freeze-left=N option to keep the leftmost N columns always visible.
# Keep the file name column fixed and always visible
git grep --line-number --color=always -- '' |
fzf --ansi --delimiter : --freeze-left 1
# Can be used with --keep-right
git grep --line-number --color=always -- '' |
fzf --ansi --delimiter : --freeze-left 1 --keep-right
- Also added --freeze-right=N option to keep the rightmost N columns always visible.
# Stronger version of --keep-right that always keeps the right-end visible
fd | fzf --freeze-right 1
# Keep the base name always visible
fd | fzf --freeze-right 1 --delimiter /
# Keep both leftmost and rightmost components visible
fd | fzf --freeze-left 1 --freeze-right 1 --delimiter /
- Updated --info=inline to print the spinner (load indicator).
- Bug fixes
0.66.0 12. lokakuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
Quick summary
This version introduces many new features centered around the new "raw" mode.
───────────┬───────┬─────────────────┬──────────────────────────────────────────────────
Type │Class │Name │Description
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Option │--raw │Enable raw mode by default
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Option │--gutter CHAR │Set the gutter column character
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Option │--gutter-raw CHAR│Set the gutter column character in raw mode
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
Enhancement│Option │--listen SOCKET │Added support for Unix domain sockets
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Action │toggle-raw │Toggle raw mode
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Action │enable-raw │Enable raw mode
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Action │disable-raw │Disable raw mode
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Action │up-match │Move up to the matching item
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Action │down-match │Move down to the matching item
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Action │best │Move to the matching item with the best score
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Color │nomatch │Color for non-matching items in raw mode
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Env Var│FZF_RAW │Matching status in raw mode (0, 1, or undefined)
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Env Var│FZF_DIRECTION │up or down depending on the layout
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
New │Env Var│FZF_SOCK │Path to the Unix domain socket fzf is listening on
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
Enhancement│Key │CTRL-N │down -> down-match
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
Enhancement│Key │CTRL-P │up -> up-match
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
Enhancement│Shell │CTRL-R binding │Toggle raw mode with ALT-R
───────────┼───────┼─────────────────┼──────────────────────────────────────────────────
Enhancement│Shell │CTRL-R binding │Opt-out with an empty FZF_CTRL_R_COMMAND
───────────┴───────┴─────────────────┴──────────────────────────────────────────────────
1. Introducing "raw" mode
This version introduces a new "raw" mode (named so because it shows the list
"unfiltered"). In raw mode, non-matching items stay in their original positions,
but appear dimmed. This allows you see surrounding items of a match and better
understand the context of it. You can enable raw mode by default with --raw,
but it's often more useful when toggled dynamically with the toggle-raw
action.
tree | fzf --reverse --bind alt-r:toggle-raw
While non-matching items are displayed in a dimmed color, they are treated just
like matching items, so you place the cursor on them and perform any action. If
you prefer to navigate only through matching items, use the down-match and
up-match actions, which are from now on bound to CTRL-N and CTRL-P
respectively, and also to ALT-DOWN and ALT-UP.
────────┬──────────┬─────────────
Key │Action │With
│ │--history
────────┼──────────┼─────────────
down │down │
────────┼──────────┼─────────────
up │up │
────────┼──────────┼─────────────
ctrl-j │down │
────────┼──────────┼────────────
0.65.1 3. elokuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Fixed incorrect $FZF_CLICK_HEADER_WORD and $FZF_CLICK_FOOTER_WORD when the header or footer contains ANSI escape sequences and tab characters.
- Fixed a bug where you cannot unset the default --nth using change-nth action.
- Fixed a highlighting bug when using --color fg:dim,nth:regular pattern over ANSI-colored items.
0.65.0 27. heinäkuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added click-footer event that is triggered when the footer section is clicked. When the event is triggered, the following environment variables are set:
- $FZF_CLICK_FOOTER_COLUMN - clicked column (1-based)
- $FZF_CLICK_FOOTER_LINE - clicked line (1-based)
- $FZF_CLICK_FOOTER_WORD - the word under the cursor
fzf --footer $'[Edit] [View]\n[Copy to clipboard]' \
--with-shell 'bash -c' \
--bind 'click-footer:transform:
[[ $FZF_CLICK_FOOTER_WORD =~ Edit ]] && echo "execute:vim \{}"
[[ $FZF_CLICK_FOOTER_WORD =~ View ]] && echo "execute:view \{}"
(( FZF_CLICK_FOOTER_LINE == 2 )) && (( FZF_CLICK_FOOTER_COLUMN < 20 )) &&
echo "execute-silent(echo -n \{} | pbcopy)+bell"
'
- Added trigger(...) action that triggers events bound to another key or event.
# You can click on each key name to trigger the actions bound to that key
fzf --footer 'Ctrl-E: Edit / Ctrl-V: View / Ctrl-Y: Copy to clipboard' \
--with-shell 'bash -c' \
--bind 'ctrl-e:execute:vim {}' \
--bind 'ctrl-v:execute:view {}' \
--bind 'ctrl-y:execute-silent(echo -n {} | pbcopy)+bell' \
--bind 'click-footer:transform:
[[ $FZF_CLICK_FOOTER_WORD =~ Ctrl ]] && echo "trigger(${FZF_CLICK_FOOTER_WORD%:})"
'
- You can specify a series of keys and events
fzf --bind 'a:up,b:trigger(a,a,a)'
- Added support for {*n} and {*nf} placeholder.
- {*n} evaluates to the zero-based ordinal index of all matched items.
- {*nf} evaluates to the temporary file containing that.
- Bug fixes and improvements
- [neovim] Fixed margin background color when &winborder is used (#4453)
- Fixed rendering error when hiding a preview window without border (#4465)
- fix(shell): check for mawk existence before version check (#4468)
- Thanks to @LangLangBart and @akinomyoga
- Fixed --no-header-lines-border behavior (08027e7)
0.64.0 6. heinäkuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added multi event that is triggered when the multi-selection has changed.
fzf --multi \
--bind 'ctrl-a:select-all,ctrl-d:deselect-all' \
--bind 'multi:transform-footer:(( FZF_SELECT_COUNT )) && echo "Selected $FZF_SELECT_COUNT item(s)"'
- Halfwidth and fullwidth alphanumeric and punctuation characters are now internally normalized to their ASCII equivalents to allow matching with ASCII queries.
echo ABC| fzf -q abc
- Renamed clear-selection action to clear-multi for consistency.
- clear-selection remains supported as an alias for backward compatibility.
- Bug fixes
- Fixed a bug that could cause fzf to abort due to incorrect update ordering.
- Fixed a bug where some multi-selections were lost when using exclude or change-nth.
0.63.0 27. kesäkuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
Release highlights: https://junegunn.github.io/fzf/releases/0.63.0/
- Added footer. The default border style for footer is line, which draws a single separator line.
fzf --reverse --footer "fzf: friend zone forever"
- Options
- --footer[=STRING]
- --footer-border[=STYLE]
- --footer-label=LABEL
- --footer-label-pos=COL[:bottom]
- Colors
- footer
- footer-bg
- footer-border
- footer-label
- Actions
- change-footer
- transform-footer
- bg-transform-footer
- change-footer-label
- transform-footer-label
- bg-transform-footer-label
- line border style is now allowed for all types of border except for --list-border.
fzf --height 50% --style full:line --preview 'cat {}' \
--bind 'focus:bg-transform-header(file {})+bg-transform-footer(wc {})'
- Added {*} placeholder flag that evaluates to all matched items.
seq 10000 | fzf --preview "awk '{sum += \$1} END {print sum}' {*f}"
- Use this with caution, as it can make fzf sluggish for large lists.
- Added asynchronous transform actions with bg- prefix that run asynchronously in the background, along with bg-cancel action to cancel currently running bg-transform actions.
# Implement popup that disappears after 1 second
# * Use footer as the popup
# * Use `bell` to ring the terminal bell
# * Use `bg-transform-footer` to clear the footer after 1 second
# * Use `bg-cancel` to cancel currently running background transform actions
fzf --multi --list-border \
--bind 'enter:execute-silent(echo -n {+} | pbcopy)+bell' \
--bind 'enter:+transform-footer(echo Copied {} to clipboard)' \
--bind 'enter:+bg-cancel+bg-transform-footer(sleep 1)'
# It's okay for the commands to take a little while because they run in the background
GETTER='curl -s http://metaphorpsum.com/sentences/1'
fzf --style full --border --preview : \
--bind "focus:bg-transform-header:$GETTER" \
--bind "focus:+bg-transform-footer:$GETTER" \
--bind "focus:+bg-transform-border-label:$GETTER" \
--bind "focus:+bg-transform-preview-label:$GETTER" \
--bind "focus:+bg-transform-input-label:$GETTER" \
--bind "focus:+bg-transform-list-label:$GETTER" \
--bind "focus:+bg-transform-header-label:$GETTER" \
--bind "focus:+bg-transform-footer-label:$GETTER" \
--bind "focus:+bg-transform-ghost:$GETTER" \
--bind "focus:+bg-transform-prompt:$GETTER"
- Added support for full-line background color in the list section
for i in $(seq 16 255); do
echo -e "\x1b[48;5;${i}m\x1b[0Khello"
done | fzf --ansi
- SSH completion enhancements by @akinomyoga
- Bug fixes and improvements
0.62.0 4. toukokuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Relaxed the --color option syntax to allow whitespace-separated entries (in addition to commas), making multi-line definitions easier to write and read
# seoul256-light
fzf --style full --color='
fg:#616161 fg+:#616161
bg:#ffffff bg+:#e9e9e9 alt-bg:#f1f1f1
hl:#719872 hl+:#719899
pointer:#e12672 marker:#e17899
header:#719872
spinner:#719899 info:#727100
prompt:#0099bd query:#616161
border:#e1e1e1
'
- Added alt-bg color to create striped lines to visually separate rows
fzf --color bg:237,alt-bg:238,current-bg:236 --highlight-line
declare -f | perl -0777 -pe 's/^}\n/}\0/gm' |
bat --plain --language bash --color always |
fzf --read0 --ansi --reverse --multi \
--color bg:237,alt-bg:238,current-bg:236 --highlight-line
- [fish] Improvements in CTRL-R binding (@bitraid)
- You can trigger CTRL-R in the middle of a command to insert the selected item
- You can delete history items with SHIFT-DEL
- Bug fixes and improvements
- Fixed unnecessary 100ms delay after reload (#4364)
- Fixed selected-bg not applied to colored items (#4372)
0.61.3 22. huhtikuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Reverted #4351 as it caused tmux run-shell 'fzf --tmux' to fail (#4559 #4560)
- More environment variables for child processes (#4356)
0.61.2 20. huhtikuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Fixed panic when using header border without pointer/marker (@phanen)
- Fixed --tmux option when already inside a tmux popup (@peikk0)
- Bug fixes and improvements in CTRL-T binding of fish (#4334) (@bitraid)
- Added --no-tty-default option to make fzf search for the current TTY device instead of defaulting to /dev/tty (#4242)
0.61.1 6. huhtikuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Disable bracketed-paste mode on exit. This fixes issue where pasting breaks after running fzf on old bash versions that don't support the mode.
0.61.0 30. maaliskuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added --ghost=TEXT to display a ghost text when the input is empty
# Display "Type to search" when the input is empty
fzf --ghost "Type to search"
- Added change-ghost and transform-ghost actions for dynamically changing the ghost text
- Added change-pointer and transform-pointer actions for dynamically changing the pointer sign
- Added r flag for placeholder expression (raw mode) for unquoted output
- Bug fixes and improvements
0.60.3 3. maaliskuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Bug fixes and improvements
- [fish] Enable multiple history commands insertion (#4280) (@bitraid)
- [walker] Append '/' to directory entries on MSYS2 (#4281)
- Trim trailing whitespaces after processing ANSI sequences (#4282)
- Remove temp files before become when using --tmux option (#4283)
- Fix condition for using item numlines cache (#4285) (@alex-huff)
- Make --accept-nth compatible with --select-1 (#4287)
- Increase the query length limit from 300 to 1000 (#4292)
- [windows] Prevent fzf from consuming user input while paused (#4260)
0.60.2 23. helmikuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Template for --with-nth and --accept-nth now supports {n} which evaluates to the zero-based ordinal index of the item
- Fixed a regression that caused the last field in the "nth" expression to be trimmed when a regular expression delimiter is used
- Thanks to @phanen for the fix
- Fixed 'jump' action when the pointer is an empty string
0.60.1 20. helmikuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Bug fixes and minor improvements
- Built-in walker now prints directory entries with a trailing slash
- Fixed a bug causing unexpected behavior with fzf-tab. Please upgrade if you use it.
- Thanks to @alexeisersun, @bitraid, @Lompik, and @fsc0 for the contributions
0.60.0 12. helmikuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
Release highlights: https://junegunn.github.io/fzf/releases/0.60.0/
- Added --accept-nth for choosing output fields
ps -ef | fzf --multi --header-lines 1 | awk '{print $2}'
# Becomes
ps -ef | fzf --multi --header-lines 1 --accept-nth 2
git branch | fzf | cut -c3-
# Can be rewritten as
git branch | fzf --accept-nth -1
- --accept-nth and --with-nth now support a template that includes multiple field index expressions in curly braces
echo foo,bar,baz | fzf --delimiter , --accept-nth '{1}, {3}, {2}'
# foo, baz, bar
echo foo,bar,baz | fzf --delimiter , --with-nth '{1},{3},{2},{1..2}'
# foo,baz,bar,foo,bar
- Added exclude and exclude-multi actions for dynamically excluding items
seq 100 | fzf --bind 'ctrl-x:exclude'
# 'exclude-multi' will exclude the selected items or the current item
seq 100 | fzf --multi --bind 'ctrl-x:exclude-multi'
- Preview window now prints wrap indicator when wrapping is enabled
seq 100 | xargs | fzf --wrap --preview 'echo {}' --preview-window wrap
- Bug fixes and improvements
0.59.0 2. helmikuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
Release highlights: https://junegunn.github.io/fzf/releases/0.59.0/
- Prioritizing file name matches (#4192)
- Added a new tiebreak option pathname for prioritizing file name matches
- --scheme=path now sets --tiebreak=pathname,length
- fzf will automatically choose path scheme
- when the input is a TTY device, where fzf would start its built-in walker or run $FZF_DEFAULT_COMMAND which is usually a command for listing files,
- but not when reload or transform action is bound to start event, because in that case, fzf can't be sure of the input type.
- Added --header-lines-border to display header from --header-lines with a separate border
# Use --header-lines-border to separate two headers
ps -ef | fzf --style full --layout reverse --header-lines 1 \
--bind 'ctrl-r:reload(ps -ef)' --header 'Press CTRL-R to reload' \
--header-lines-border bottom --no-list-border

- click-header event now sets $FZF_CLICK_HEADER_WORD and $FZF_CLICK_HEADER_NTH. You can use them to implement a clickable header for changing the search scope using the new transform-nth action.
# Click on the header line to limit search scope
ps -ef | fzf --style full --layout reverse --header-lines 1 \
--header-lines-border bottom --no-list-border \
--color fg:dim,nth:regular \
--bind 'click-header:transform-nth(
echo $FZF_CLICK_HEADER_NTH
)+transform-prompt(
echo "$FZF_CLICK_HEADER_WORD> "
)'

- $FZF_KEY was updated to expose the type of the click. e.g. click, ctrl-click, etc. You can use it to implement a more sophisticated behavior.
- kill completion for bash and zsh were updated to use this feature
- Added --no-input option to completely disable and hide the input section
# Click header to trigger search
fzf --header '[src] [test]' --no-input --layout reverse \
--header-border bottom --input-border \
--bind 'click-header:transform-search:echo ${FZF_CLICK_HEADER_WORD:1:-1}'

# Vim-like mode switch
fzf --layout reverse-list --no-input \
--bind 'j:down,k:up,/:show-input+unbind(j,k,/)' \
--bind 'enter,esc,ctrl-c:transform:
if [[ $FZF_INPUT_STATE = enabled ]]; then
echo "rebind(j,k,/)+hide-input"
elif [[ $FZF_KEY = enter ]]; then
echo accept
else
echo abort
fi
'

- You can later show the input section using show-input or toggle-input action, and hide it again using hide-input, or toggle-input.
- Extended {q} placeholder to support ranges. e.g. {q:1}, {q:2..}, etc.
- Added search(...) and transform-search(...) action to trigger an fzf search with an arbitrary query string. This can be used to extend the search syntax of fzf. In the following example, fzf will use the first word of the query to trigger ripgrep search, and use the rest of the query to perform fzf search within the result.
export TEMP=$(mktemp -u)
trap 'rm -f "$TEMP"' EXIT

TRANSFORMER='
rg_pat={q:1} # The first word is passed to ripgrep
fzf_pat={q:2..} # The rest are passed to fzf

if ! [[ -r "$TEMP" ]] || [[ $rg_pat != $(cat "$TEMP") ]]; then
echo "$rg_pat" > "$TEMP"
printf "reload:sleep 0.1; rg --column --line-number --no-heading --color=always --smart-case %q || true" "$rg_pat"
fi
echo "+search:$fzf_pat"
'
fzf --ansi --disabled \
--with-shell 'bash -c' \
--bind "start,change:transform:$TRANSFORMER"

- You can now bind actions to multiple keys and events at once by writing a comma-separated list of keys and events before the colon
# Load 'ps -ef' output on start and reload it on CTRL-R
fzf --bind 'start,ctrl-r:reload:ps -ef'

- --min-height option now takes a number followed by +, which tells fzf to show at least that many items in the list section. The default value is now changed to 10+.
# You will only see the input section which takes 3 lines
fzf --style=full --height 1% --min-height 3

# You will see 3 items in the list section
fzf --style full --height 1% --min-height 3+

- Shell integration scripts were updated to use --min-height 20+ by default
- --header-lines will be displayed at the top in reverse-list layout
- Added bell action to ring the terminal bell
# Press CTRL-Y to copy the current lin
0.58.0 19. tammikuuta 2025 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Style presets (#4160)
- --style=full[:BORDER_STYLE]
- --style=default
- --style=minimal
- Border and label for the list section (#4148)
- Options
- --list-border[=STYLE]
- --list-label=LABEL
- --list-label-pos=COL[:bottom]
- Colors
- list-fg
- list-bg
- list-border
- list-label
- Actions
- change-list-label
- transform-list-label
- Border and label for the input section (prompt line and info line) (#4154)
- Options
- --input-border[=STYLE]
- --input-label=LABEL
- --input-label-pos=COL[:bottom]
- Colors
- input-fg (query)
- input-bg
- input-border
- input-label
- Actions
- change-input-label
- transform-input-label
- Border and label for the header section (#4159)
- Options
- --header-border[=STYLE]
- --header-label=LABEL
- --header-label-pos=COL[:bottom]
- Colors
- header-fg (header)
- header-bg
- header-border
- header-label
- Actions
- change-header-label
- transform-header-label
- Added --preview-border[=STYLE] as short for --preview-window=border[-STYLE]
- Added new preview border style line which draws a single separator line between the preview window and the rest of the interface
- fzf will now render a dashed line (┈┈) in each --gap for better visual separation.
- You can customize the line using --gap-line[=STR].
- You can specify border-native to --tmux so that native tmux border is used instead of --border.
This can be useful if you start a different program from inside the popup.
- Added toggle-multi-line action
- Added toggle-hscroll action
- Added change-nth action for dynamically changing the value of the --nth option
- --nth parts of each line can now be rendered in a different text style
- A single-character delimiter is now treated as a plain string delimiter rather than a regular expression delimiter, even if it's a regular expression meta-character.
- This means you can just write --delimiter '|' instead of escaping it as --delimiter '\|'
- Bug fixes
- Bug fixes and improvements in fish scripts (thanks to @bitraid)
0.57.0 15. joulukuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- You can now resize the preview window by dragging the border
- Built-in walker improvements
- --walker-root can take multiple directory arguments. e.g. --walker-root include src lib
- --walker-skip can handle multi-component patterns. e.g. --walker-skip target/build
- Removed long processing delay when displaying images in the preview window
- FZF_PREVIEW_* environment variables are exported to all child processes (#4098)
- Bug fixes in fish scripts
0.56.3 15. marraskuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Bug fixes in zsh scripts
- fix(zsh): handle backtick trigger edge case (#4090)
- revert(zsh): remove 'fc -RI' call in the history widget (#4093)
- Thanks to @LangLangBart for the contributions
0.56.2 11. marraskuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Bug fixes
- Fixed abnormal scrolling behavior when --wrap is set (#4083)
- [zsh] Fixed warning message when ksh_arrays is set (#4084)
0.56.1 10. marraskuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Bug fixes and improvements
- Fixed a race condition which would cause fzf to present stale results after reload (#4070)
- page-up and page-down actions now work correctly with multi-line items (#4069)
- {n} is allowed in SCROLL expression in --preview-window (#4079)
- [zsh] Fixed regression in history loading with shared option (#4071)
- [zsh] Better command extraction in zsh completion (#4082)
- Thanks to @LangLangBart, @jaydee-coder, @alex-huff, and @vejkse for the contributions
0.56.0 27. lokakuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added --gap[=N] option to display empty lines between items.
- This can be useful to visually separate adjacent multi-line items.
- Or just to make the list easier to read.
For single-line items, you probably want to set --color gutter:-1 as well to hide the gutter.
- Added noinfo option to --preview-window to hide the scroll indicator in the preview window
- Bug fixes
- Thanks to @LangLangBart, @akinomyoga, and @charlievieth for fixing the bugs
0.55.0 29. elokuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added exact-boundary-match type to the search syntax.
When a search term is single-quoted, fzf will search for the exact occurrences of the string with both ends at word boundaries.
- [bash] Fuzzy path completion is enabled for all commands
- 1. If the default completion is not already set
- 2. And if the current bash supports complete -D option
- However, fuzzy completion for some commands can be "dynamically" disabled by the dynamic completion loader
- See the comment in __fzf_default_completion function for more information
- Comments are now allowed in $FZF_DEFAULT_OPTS and $FZF_DEFAULT_OPTS_FILE
- Hyperlinks (OSC 8) are now supported in the preview window and in the main window
- The default --ellipsis is now ·· instead of ...
- [vim] A spec can have exit callback that is called with the exit status of fzf
- This can be used to clean up temporary resources or restore the original state when fzf is closed without a selection
- Fixed --tmux bottom when the status line is not at the bottom
- Fixed extra scroll offset in multi-line mode (--read0 or --wrap)
- Added fallback ps command for kill completion on Cygwin
0.54.3 31. heinäkuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Fixed incompatibility of adaptive height specification and 'start:reload'
- Environment variables are now available to $FZF_DEFAULT_COMMAND
0.54.2 26. heinäkuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Fixed incorrect syntax highlighting of truncated multi-line entries
- Updated GoReleaser to 2.1.0 to simplify notarization of macOS binaries
- macOS archives will be in tar.gz format instead of zip format since we no longer notarize the zip files but binaries
- (Windows) Reverted a mintty fix in 0.54.0
- As a result, mouse may not work on mintty in fullscreen mode.
However, fzf will correctly read non-ASCII input in fullscreen mode (--no-height).
- fzf unfortunately cannot read non-ASCII input when not in fullscreen mode on Windows.
So if you need to input non-ASCII characters, add --no-height to your $FZF_DEFAULT_OPTS.
- Any help in fixing this issue will be appreciated (#3799, #3847).
0.54.1 19. heinäkuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Updated fastwalk dependency for built-in directory walker
- fastwalk: add optional sorting and improve documentation
- fastwalk: only check if MSYSTEM is set during MSYS/MSYS2
- Thanks to @charlievieth
- Reverted ALT-C binding of fish to use cd instead of builtin cd
- builtin cd was introduced to work around a bug of cd coming from zoxide init --cmd cd fish where it cannot handle -- argument.
- However, the default cd of fish is actually a wrapper function for supporting cd -, so we want to use it instead.
- See #3928 for more information and consider helping zoxide fix the bug.
0.54.0 8. heinäkuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Implemented line wrap of long items
- --wrap option enables line wrap
- --wrap-sign customizes the sign for wrapped lines (default: ↳ )
- toggle-wrap action toggles line wrap
- fzf by default binds CTRL-/ and ALT-/ to toggle-wrap
- Updated shell integration scripts to leverage line wrap
- CTRL-R binding includes --wrap-sign $'\t↳ ' to indent wrapped lines
- kill ** completion uses --wrap to show the whole line by default
- Added --info-command option for customizing the info line
- $FZF_INFO is set to the original info text
- ANSI color codes are supported
- Pointer and marker signs can be set to empty strings
- Better cache management and improved rendering for --tail
- Improved --sync behavior
- When --sync is provided, fzf will not render the interface until the initial filtering and the associated actions (bound to any of start, load, result, or focus) are complete.
- GET endpoint is now available from execute and transform actions (it used to timeout due to lock conflict)
- Added offset-middle action to place the current item is in the middle of the screen
- fzf will not start the initial reader when reload or reload-sync is bound to start event. fzf < /dev/null or : | fzf are no longer required and extraneous load event will not fire due to the empty list.
- Fixed mouse support on Windows
- Fixed crash when using --tiebreak=end with very long items
- zsh 5.0 compatibility (thanks to @LangLangBart)
- Fixed --walker-skip to also skip symlinks to directories
- Fixed result event not fired when input stream is not complete
- New tags will have v prefix so that they are available on https://proxy.golang.org/
0.53.0 6. kesäkuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Multi-line display
- See Processing multi-line items
- fzf can now display multi-line items
- To disable multi-line display, use --no-multi-line
- CTRL-R bindings of bash, zsh, and fish have been updated to leverage multi-line display
- The default --pointer and --marker have been changed from > to Unicode bar characters as they look better with multi-line items
- Added --marker-multi-line to customize the select marker for multi-line entries with the default set to ╻┃╹
- Native tmux integration
- Added --tmux option to replace fzf-tmux script and simplify distribution
- To keep the implementation simple, it only uses popups.
You need tmux 3.3 or later.
- To use --tmux in Vim plugin:
- Added support for endless input streams
- See Browsing log stream with fzf
- Added --tail=NUM option to limit the number of items to keep in memory.
This is useful when you want to browse an endless stream of data (e.g. log stream) with fzf while limiting memory usage.
- Better Windows Support
- fzf now works on Git bash (mintty) out of the box via winpty integration
- Many fixes and improvements for Windows
- man page is now embedded in the binary; fzf --man to see it
- Changed the default --scroll-off to 3, as we think it's a better default
- Process started by execute action now directly writes to and reads from /dev/tty.
Manual /dev/tty redirection for interactive programs is no longer required.
- Added print(...) action to queue an arbitrary string to be printed on exit.
This was mainly added to work around the limitation of --expect where it's not compatible with --bind on the same key and it would ignore other actions bound to it.
- We also considered making them compatible, but realized that some users may have been relying on the current behavior.
- NO_COLOR environment variable is now respected. If the variable is set, fzf defaults to --no-color unless otherwise specified.
0.52.1 13. toukokuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Fixed a critical bug in the Windows version
- Windows users are strongly encouraged to upgrade to this version
0.52.0 7. toukokuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added --highlight-line to highlight the whole current line (à la set cursorline of Vim)
- Added color names for selected lines: selected-fg, selected-bg, and selected-hl
- Added click-header event that is triggered when the header section is clicked.
When the event is triggered, $FZF_CLICK_HEADER_COLUMN and $FZF_CLICK_HEADER_LINE are set.
- Add $FZF_COMPLETION_{DIR,PATH}_OPTS for separately customizing the behavior of fuzzy completion
- Fixed Windows argument escaping
- Bug fixes and improvements
- The code was heavily refactored to allow using fzf as a library in Go programs.
The API is still experimental and subject to change.
- https://gist.github.com/junegunn/193990b65be48a38aac6ac49d5669170
0.51.0 1. toukokuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added a new environment variable $FZF_POS exported to the child processes.
It's the vertical position of the cursor in the list starting from 1.
- Added --with-shell option to start child processes with a custom shell command and flags
- Added change-multi action for dynamically changing --multi option
- change-multi - enable multi-select mode with no limit
- change-multi(NUM) - enable multi-select mode with a limit
- change-multi(0) - disable multi-select mode
- Windows improvements
- become action is now supported on Windows
- Unlike in *nix, this does not use execve(2).
Instead it spawns a new process and waits for it to finish, so the exact behavior may differ.
- Fixed argument escaping for Windows cmd.exe.
No redundant escaping of backslashes.
- Bug fixes and improvements
0.50.0 14. huhtikuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Search performance optimization.
You can observe 50%+ improvement in some scenarios.
- Added jump and jump-cancel events that are triggered when leaving jump mode
- Added a new environment variable $FZF_KEY exported to the child processes.
It's the name of the last key pressed.
- fzf can be built with profiling options. See BUILD.md for more information.
- Bug fixes
0.49.0 4. huhtikuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Ingestion performance improved by around 40% (more or less depending on options)
- --info=hidden and --info=inline-right will no longer hide the horizontal separator by default. This gives you more flexibility in customizing the layout.
- Added two environment variables exported to the child processes
- FZF_PREVIEW_LABEL
- FZF_BORDER_LABEL
- Renamed track action to track-current to highlight the difference between the global tracking state set by --track and a one-off tracking action
- track is still available as an alias
- Added untrack-current and toggle-track-current actions
- *-current actions are no-op when the global tracking state is set
- Bug fixes and minor improvements
0.48.1 17. maaliskuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- CTRL-T and ALT-C bindings can be disabled by setting FZF_CTRL_T_COMMAND and FZF_ALT_C_COMMAND to empty strings respectively when sourcing the script
- Setting the variables after sourcing the script will have no effect
- Bug fixes
0.48.0 13. maaliskuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Shell integration scripts are now embedded in the fzf binary.
This simplifies the distribution, and the users are less likely to have problems caused by using incompatible scripts and binaries.
- bash
- zsh
- fish
- Added options for customizing the behavior of the built-in walker
- Examples
- Shell integration scripts have been updated to use the built-in walker with these new options and they are now much faster out of the box.
0.47.0 10. maaliskuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Replaced ["the default find command"][find] with a built-in directory traversal to simplify the code and to achieve better performance and consistent behavior across platforms.
- Breaking changes:
- Unlike [the previous "find" command][find], the new traversal code will list hidden files, but hidden directories will still be ignored
- No filtering of devtmpfs or proc types
- Traversal is parallelized, so the order of the entries will be different each time
- You would wonder why fzf implements directory traversal anyway when it's a filter program following the Unix philosophy.
- Built-in traversal is now done using the excellent [charlievieth/fastwalk][fastwalk] library, which easily outperforms its competitors and supports safely following symlinks.
- Added $FZF_DEFAULT_OPTS_FILE to allow managing default options in a file
- See #3618
- Option precedence from lower to higher
- Bug fixes and improvements
0.46.1 1. helmikuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Bug fixes and improvements
- Fixed Windows binaries
- Downgraded Go version to 1.20 to support older versions of Windows
- https://tip.golang.org/doc/go1.21#windows
- Updated rivo/uniseg dependency to v0.4.6
0.46.0 23. tammikuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added two new events
- result - triggered when the filtering for the current query is complete and the result list is ready
- resize - triggered when the terminal size is changed
- fzf now exports the following environment variables to the child processes
- This allows you to write sophisticated transformations like so
- And we're phasing out {fzf:prompt} and {fzf:action}
- Changed mattn/go-runewidth dependency to rivo/uniseg for accurate results
- Set --ambidouble if your terminal displays ambiguous width characters (e.g. box-drawing characters for borders) as 2 columns
- RUNEWIDTH_EASTASIAN=1 is still respected for backward compatibility, but it's recommended that you use this new option instead
- Bug fixes
0.45.0 1. tammikuuta 2024 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added transform action to conditionally perform a series of actions
- Added placeholder expressions
- {fzf:action} - The name of the last action performed
- {fzf:prompt} - Prompt string (including ANSI color codes)
- {fzf:query} - Synonym for {q}
- Added support for negative height
- This handles a terminal resize better than --height=$(($(tput lines) - 1))
- Added accept-or-print-query action that acts like accept but prints the
- Note that there are alternative ways to implement the same strategy
- Added show-header and hide-header actions
- Bug fixes
0.44.1 17. marraskuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Fixed crash when preview window is hidden on focus event
0.44.0 12. marraskuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- (Experimental) Sixel image support in preview window (not available on Windows)
- bin/fzf-preview.sh is added to demonstrate how to
- (Experimental) iTerm2 inline image protocol support in preview window (not available on Windows)
- HTTP server can be configured to accept remote connections
- To allow remote process execution, use --listen-unsafe instead
- Bug fixes
0.43.0 14. lokakuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- (Experimental) Added support for Kitty image protocol in the preview window
- (Experimental) --listen server can report program state in JSON format (GET /)
- --listen server can be secured by setting $FZF_API_KEY environment
- Added toggle-header action
- Added mouse events for --bind
- scroll-up (bound to up)
- scroll-down (bound to down)
- shift-scroll-up (bound to toggle+up)
- shift-scroll-down (bound to toggle+down)
- shift-left-click (bound to toggle)
- shift-right-click (bound to toggle)
- preview-scroll-up (bound to preview-up)
- preview-scroll-down (bound to preview-down)
- Added offset-up and offset-down actions
- Shell extensions
- Updated bash completion for fzf options
- bash key bindings no longer requires perl; it will use awk or mawk
- Basic context-aware completion for ssh command
- Applied --scheme=path for better ordering of the result
- Bug fixes and improvements
0.42.0 15. kesäkuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added new info style: --info=right
- Added new info style: --info=inline-right
- Added new border style thinblock which uses symbols for legacy computing
- Similarly to block, this style is suitable when using a different
- This style may not render correctly depending on the font and the
0.41.1 27. toukokuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Fixed a bug where preview window is not updated when --disabled is set and
a reload is triggered by change:reload binding
0.41.0 25. toukokuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added color name preview-border and preview-scrollbar
- Added new border style block which uses block elements
- --scrollbar can take two characters, one for the main window, the other
- Putting it altogether:
- Bug fixes and improvements
0.40.0 30. huhtikuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added zero event that is triggered when there's no match
- New actions
- Added track action which makes fzf track the current item when the
- Added change-header(...)
- Added transform-header(...)
- Added toggle-track action
- Fixed --track behavior when used with --tac
- However, using --track with --tac is not recommended.
The resulting
- Bug fixes and improvements
0.39.0 2. huhtikuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- Added one event that is triggered when there's only one match
- Added --track option that makes fzf track the current selection when the
- If you use --listen option without a port number fzf will automatically
- A carriage return and a line feed character will be rendered as dim ␍ and
- fzf will stop rendering a non-displayable characters as a space. This will
- Bug fixes and improvements
0.38.0 15. helmikuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP
Muutosloki
- New actions
- become(...) - Replace the current fzf process with the specified
- This action is not supported on Windows
- show-preview
- hide-preview
- Bug fixes
- --preview-window 0,hidden should not execute the preview command until
0.37.0 24. tammikuuta 2023 — 64-bittinen ZIPARM64 ZIPARM ZIP

Suosituin kategoriassa Päätteet ja komentorivi

Näytä kaikki
  1. PowerShellPäätteet ja komentorivi · Microsoft Corporation
  2. QPDFPäätteet ja komentorivi · QPDF
  3. Oh My PoshPäätteet ja komentorivi · Jan De Dobbeleer
  4. Microsoft Azure CLIPäätteet ja komentorivi · Microsoft Corporation
  5. yqPäätteet ja komentorivi · Mike Farah
  6. AlacrittyPäätteet ja komentorivi · Alacritty
  7. fzfPäätteet ja komentorivi · Junegunn Choi
  8. PuTTYPäätteet ja komentorivi · Simon Tatham
  9. cURLPäätteet ja komentorivi · curl
  10. TabbyPäätteet ja komentorivi · Tabby Developers

Tunnisteet

Jaa