Releases: junegunn/fzf
Releases · junegunn/fzf
Release list
0.29.0
- Added
change-preview(...)action to change the--previewcommand- 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-firstoption to print header before the prompt linefzf --header $'Welcome to fzf\n▔▔▔▔▔▔▔▔▔▔▔▔▔▔' --reverse --height 30% --border --header-first - Added
--scroll-off=LINESoption (similar toscrolloffoption 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
$SHELLto execute external programs- See #2638 and #2647
- Thanks to @rashil2000, @vovcacik, and @janlazo
0.27.3
- Preview window is
hiddenby default when there arepreviewbindings but--previewcommand 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
sinklistis 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
unbindaction. 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-windowfzf --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/ttyas 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
selectanddeselectaction for unconditionally selecting or
deselecting a single item in--multimode. Complementstoggleaction. - 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
--colorare not reset when fzf sees another
--coloroption for the same element. This allows you to put custom text
attributes in your$FZF_DEFAULT_OPTSand 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
--phonyto--disabled -
You can dynamically enable and disable the search functionality using the
newenable-search,disable-search, andtoggle-searchactions -
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
lastaction to move the cursor to the last match- The opposite action
topis renamed tofirst, buttopis still
recognized as a synonym for backward compatibility
- The opposite action
-
Added
preview-topandpreview-bottomactions -
Extended support for alt key chords: alt with any case-sensitive single character
fzf --bind alt-,:first,alt-.:last
0.24.4
- Added
--preview-windowoptionfollow# 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-promptactionfzf --prompt 'foo> ' --bind $'a:change-prompt:\x1b[31mbar> '
- Bug fixes and improvements