Releases: junegunn/fzf
Releases · junegunn/fzf
0.29.0
- Added
change-preview(...)
action to change the--preview
command- cf.
preview(...)
is a one-off action that doesn't change the default
preview command
- cf.
- Added
change-preview-window(...)
action- You can rotate through the different options separated by
|
fzf --preview 'cat {}' --preview-window right,40% \ --bind 'ctrl-/:change-preview-window(right,70%|down,40%,border-top|hidden|)'
- You can rotate through the different options separated by
- Fixed rendering of the prompt line when overflow occurs with
--info=inline
0.28.0
- Added
--header-first
option to print header before the prompt linefzf --header $'Welcome to fzf\n▔▔▔▔▔▔▔▔▔▔▔▔▔▔' --reverse --height 30% --border --header-first
- Added
--scroll-off=LINES
option (similar toscrolloff
option of Vim)- You can set it to a very large number so that the cursor stays in the
middle of the screen while scrollingfzf --scroll-off=5 fzf --scroll-off=999
- You can set it to a very large number so that the cursor stays in the
- Fixed bug where preview window is not updated on
reload
(#2644) - fzf on Windows will also use
$SHELL
to execute external programs- See #2638 and #2647
- Thanks to @rashil2000, @vovcacik, and @janlazo
0.27.3
- Preview window is
hidden
by default when there arepreview
bindings but--preview
command is not given - Fixed bug where
{n}
is not properly reset onreload
- Fixed bug where spinner is not displayed on
reload
- Enhancements in tcell renderer for Windows (#2616)
- Vim plugin
sinklist
is added as a synonym tosink*
so that it's easier to add a function to a spec dictionarylet spec = { 'source': 'ls', 'options': ['--multi', '--preview', 'cat {}'] } function spec.sinklist(matches) echom string(a:matches) endfunction call fzf#run(fzf#wrap(spec))
- Vim 7 compatibility
0.27.2
0.27.1
- Added
unbind
action. In the following Ripgrep launcher example, you can useunbind(reload)
to switch to fzf-only filtering mode. - Vim plugin
- Vim plugin will stop immediately even when the source command hasn't finished
" fzf will read the stream file while allowing other processes to append to it call fzf#run(fzf#wrap({'source': 'cat /dev/null > /tmp/stream; tail -f /tmp/stream'}))
- It is now possible to open popup window relative to the currrent window
let g:fzf_layout = { 'window': { 'width': 0.9, 'height': 0.6, 'relative': v:true, 'yoffset': 1.0 } }
- Vim plugin will stop immediately even when the source command hasn't finished
0.27.0
- More border options for
--preview-window
fzf --preview 'cat {}' --preview-window border-left fzf --preview 'cat {}' --preview-window border-left --border horizontal fzf --preview 'cat {}' --preview-window top:border-bottom fzf --preview 'cat {}' --preview-window top:border-horizontal
- Automatically set
/dev/tty
as STDIN on execute action# Redirect /dev/tty to suppress "Vim: Warning: Input is not from a terminal" # ls | fzf --bind "enter:execute(vim {} < /dev/tty)" # "< /dev/tty" part is no longer needed ls | fzf --bind "enter:execute(vim {})"
- Bug fixes and improvements
- Signed and notarized macOS binaries
(Huge thanks to BACKERS.md!)
0.26.0
- Added support for fixed header in preview window
# Display top 3 lines as the fixed header fzf --preview 'bat --style=full --color=always {}' --preview-window '~3' # Works well with the streaming preview fzf --preview-window 'follow:~2' --preview 'for i in $(seq 100000); do # Clear preview content every 300 lines and print header (( i % 300 == 1 )) && echo -e "\x1b[2J$i ~ $((i + 300))" && echo '---' echo "$i" sleep 0.01 done'
- More advanced preview offset expression to better support the fixed header
# Preview with bat, matching line in the middle of the window below # the fixed header of the top 3 lines # # ~3 Top 3 lines as the fixed header # +{2} Base scroll offset extracted from the second field # +3 Extra offset to compensate for the 3-line header # /2 Put in the middle of the preview area # git grep --line-number '' | fzf --layout reverse --delimiter : \ --preview 'bat --style=full --color=always --highlight-line {2} {1}' \ --preview-window '~3:+{2}+3/2'
- Added
select
anddeselect
action for unconditionally selecting or
deselecting a single item in--multi
mode. Complementstoggle
action. - Sigificant performance improvement in ANSI code processing
- Bug fixes and improvements
- Built with Go 1.16
0.25.1
0.25.0
-
Text attributes set in
--color
are not reset when fzf sees another
--color
option for the same element. This allows you to put custom text
attributes in your$FZF_DEFAULT_OPTS
and still have those attributes
even when you override the colors.# Default colors and attributes fzf # Apply custom text attributes export FZF_DEFAULT_OPTS='--color fg+:italic,hl:-1:underline,hl+:-1:reverse:underline' fzf # Different colors but you still have the attributes fzf --color hl:176,hl+:177 # Write "regular" if you want to clear the attributes fzf --color hl:176:regular,hl+:177:regular
-
Renamed
--phony
to--disabled
-
You can dynamically enable and disable the search functionality using the
newenable-search
,disable-search
, andtoggle-search
actions -
You can assign a different color to the query string for when search is disabled
fzf --color query:#ffffff,disabled:#999999 --bind space:toggle-search
-
Added
last
action to move the cursor to the last match- The opposite action
top
is renamed tofirst
, buttop
is still
recognized as a synonym for backward compatibility
- The opposite action
-
Added
preview-top
andpreview-bottom
actions -
Extended support for alt key chords: alt with any case-sensitive single character
fzf --bind alt-,:first,alt-.:last
0.24.4
- Added
--preview-window
optionfollow
# Preview window will automatically scroll to the bottom fzf --preview-window follow --preview 'for i in $(seq 100000); do echo "$i" sleep 0.01 (( i % 300 == 0 )) && printf "\033[2J" done'
- Added
change-prompt
actionfzf --prompt 'foo> ' --bind $'a:change-prompt:\x1b[31mbar> '
- Bug fixes and improvements