v0.60.0

junegunn/fzfv0.60.0Feb 12, 2025by junegunn

Upgrading?

Release notes summary

A major feature release introducing `--accept-nth` for selecting output fields and dynamic exclusion actions.

Key Highlights

  • Added `--accept-nth` to choose specific fields from the output
  • Added `exclude` and `exclude-multi` actions for dynamically excluding items
  • Templates for `--with-nth` and `--accept-nth` now support multiple field indices

New Features

  • `--accept-nth` option
  • `exclude` action
  • `exclude-multi` action
  • Preview window wrap indicator

Full Release Notes

_Release highlights: https://junegunn.github.io/fzf/releases/0.60.0/_

- Added `--accept-nth` for choosing output fields
  ```sh
  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
  ```sh
  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
  ```sh
  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
  ```sh
  seq 100 | xargs | fzf --wrap --preview 'echo {}' --preview-window wrap
  ```
- Bug fixes and improvements

Related Repositories