Release highlights: https://junegunn.github.io/fzf/releases/0.58.0/
This version introduces three new border types, --list-border
, --input-border
, and --header-border
, offering much greater flexibility for customizing the user interface.
Also, fzf now offers "style presets" for quick customization, which can be activated using the --style
option.
Preset | Screenshot |
---|---|
default
| |
full
| |
minimal
|
- 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
- Options
- 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
- Options
- 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
- Options
- 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.# All bash/zsh functions, highlighted declare -f | perl -0 -pe 's/^}\n/}\0/gm' | bat --plain --language bash --color always | fzf --read0 --ansi --layout reverse --multi --highlight-line --gap
- You can customize the line using
--gap-line[=STR]
.
- You can customize the line using
- 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.fzf --tmux border-native --bind 'enter:execute:less {}'
- Added
toggle-multi-line
action - Added
toggle-hscroll
action - Added
change-nth
action for dynamically changing the value of the--nth
option# Start with --nth 1, then 2, then 3, then back to the default, 1 echo 'foo foobar foobarbaz' | fzf --bind 'space:change-nth(2|3|)' --nth 1 -q foo
--nth
parts of each line can now be rendered in a different text style# nth in a different style ls -al | fzf --nth -1 --color nth:italic ls -al | fzf --nth -1 --color nth:reverse ls -al | fzf --nth -1 --color nth:reverse:bold # Dim the other parts ls -al | fzf --nth -1 --color nth:regular,fg:dim # With 'change-nth'. The current nth option is exported as $FZF_NTH. ps -ef | fzf --reverse --header-lines 1 --header-border bottom --input-border \ --color nth:regular,fg:dim \ --bind 'ctrl-n:change-nth(8..|1|2|3|4|5|6|7|)' \ --bind 'result:transform-prompt:echo "${FZF_NTH}> "'
- 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 '\|'
- This means you can just write
- Bug fixes
- Bug fixes and improvements in fish scripts (thanks to @bitraid)