Pick
The pick(1)
utility allows users to choose one option from a set of choices
using an interface with fuzzy search functionality.
Installation
CRUX
Available in 6c37/crux-ports
.
Debian and Ubuntu
A package for Pick is available As of Debian 9 and Ubuntu 16.04 LTS.
apt-get install pick
Gentoo
Package is available from the official repo.
emerge pick
Void Linux
Package is available from the official repo.
xbps-install pick
Mac OS X via Homebrew
brew install pick
Mac OS X via MacPorts
sudo port install pick
FreeBSD via Ports
cd /usr/ports/sysutils/pick
make install clean
FreeBSD via pkgng
pkg install pick
OpenBSD
pkg_add pick
From source
Download the latest release and follow the bundled instructions in
INSTALL.md
.
If you want to try the latest unreleased version, follow the instructions in CONTRIBUTING.md.
Usage
pick(1)
reads a list of choices on stdin
and outputs the selected choice on
stdout
. Therefore it is easily used both in pipelines and subshells:
git ls-files | pick | xargs less # Select a file in the current git repository to view in less
cd "$(find . -type d | pick)" # Select a directory to cd into
eval $(fc -ln 1 | pick) # Select a command from the history to execute
Pick can also easily be used from within Vim both using system()
and !
. For
ready-to-map functions, see the pick.vim Vim plugin. For examples of how to
call pick(1)
from within Vim, see the pick.vim source code.
Please note: pick requires a fully functional terminal to run and therefore cannot be run from within gvim or MacVim.
See the pick(1)
man page for detailed usage instructions and more examples.
Copyright
Copyright (c) 2017 Calle Erlandsson, Anton Lindqvist & thoughtbot.