- Added
{change,transform,bg-transform}-info-commandactions (#4951) (@casperdcl)seq 100 | fzf --info-command 'echo "mode: A | $FZF_INFO"' \ --bind 'ctrl-a:change-info-command:echo "mode: A | $FZF_INFO"' \ --bind 'ctrl-b:change-info-command:echo "mode: B | $FZF_INFO"'
transform-nthandtransform-with-nth(and theirbg-variants) no longer split the output at|- Only
change-nthandchange-with-nthrotate through|-separated values - Fixed the bound command being replaced with the output. e.g. With
transform-nth(echo '1|2'), the next key press ran2|1as a shell command. - A
--with-nthtemplate in the output can now contain|. e.g.{2}|{1}was cut to{2}.
- Only
change-nthandtransform-nthnow handle empty and invalid values the same way aschange-with-nthandtransform-with-nth- An empty value restores the default
--nth. Previously,change-nth()and an emptytransform-nthoutput searched all fields. Usechange-nth(..)for that. - A non-empty invalid value is ignored. Previously, it restored the default
--nth.
- An empty value restores the default
change-nthandchange-with-nthnow apply the value after the current one in the|-separated list- A value equal to the current one is skipped, e.g. the first value when it is the initial
--nth - Invalid values in the list are skipped
- The rotation follows the current value even when another binding changed it, or when the action is printed by
transform(unless the list contains the same value more than once) - You can list the values in their natural order, starting with the initial one
# Previously, you would have to write: ls -al | fzf --with-nth .. --bind 'space:change-with-nth:1|2|..' # Now you can write: ls -al | fzf --with-nth .. --bind 'space:change-with-nth:..|1|2'
- A value equal to the current one is skipped, e.g. the first value when it is the initial
- Fixed
--no-sortbeing ignored in filter mode with--sync,--tac, or--bench(#4940) (@NavpreetSSidhu) - Fixed
--walker=followskipping a symlink in one--walker-rootwhen its target is an ancestor of another root (#4944) (@mabunemeh) - Fixed data races in the preview and the search result cache (#4947)
- Fixed O(n^2) action parsing in
--listen. A single ~1 MB request could block the server for ~30 s (@zachariah-mithani, AploSec) - Windows
- Fixed
--with-shellon Windows not detecting cmd, PowerShell, and pwsh, which made fzf quote commands and entries for a POSIX shell (#4936) (@vimkim)- e.g. With
--with-shell "cmd.exe /d /c",--preview '"C:\Program Files\nu\bin\nu.exe" --version'failed
- e.g. With
- Added
.msiinstallers for amd64 and arm64, also offered through winget (#4943) (@meop)- The portable package runs fzf through a symlink in the WinGet Links folder, which an administrator's SSH session refuses to follow
- The MSI installs
fzf.exeunder Program Files and adds it to the system PATH winget upgradekeeps an existing portable install. To switch to the MSI, runwinget uninstall junegunn.fzfandwinget install junegunn.fzf.
- Fixed
- Vim plugin
- Fixed garbage text on screen in Neovim with
set titlewhen the fzf command contains ANSI escape sequences (#4941)
- Fixed garbage text on screen in Neovim with
- nushell