pick |
[-hvKS] [-d
[-o]] [-x |
-X] [-q
query] |
The pick utility allows users to select
from a set of choices using an curses(3) interface with
fuzzy search functionality.
The choices are read from stdin, and the
selected choice written to stdout.
The options are as follows:
-d
- Read and display descriptions. Input lines will be split into two parts by
the last occurrence of
IFS. Both parts will be
displayed but only the first part will be used when searching.
-h
- Output a help message and exit.
-K
- Disable toggling of keyboard transmit mode. Useful when running
pick from within another interactive program which
already has set the correct transmit mode.
-o
- Output description of selected choice on exit.
-q
query
- Supply an initial search query.
-S
- Disable sorting. Only filter the choices instead of additionally sorting
by score. This option can be toggled from within the interface, see
COMMANDS.
-v
- Output the version and exit.
-x
- Enable the use of the alternate screen terminal feature. This is the
default.
-X
- Disable the use of the alternate screen terminal feature.
Ctrl-C
- Exit with a erroneous status without outputting the selected choice. While
this command often being defined as Ctrl-C it is determined by the
VINTR control character, see
termios(4).
Ctrl-L
- Redraw interface with respect to the current size of the terminal.
Ctrl-O
- Toggle sorting.
Up/Down
|
Ctrl-P/Ctrl-N
- Select between choices matching the current search query.
Page-Down/Page-Up
|
Ctrl-V/Alt-V
|
Alt-Space
- Move the selection to the choice located one page down/up from the
currently selected choice.
Home/End
|
Alt-</Alt->
- Move the selection to the first/last choice matching the current search
query.
Enter
- Output the currently selected choice and exit.
Alt-Enter
- Output the current input query and exit.
Left/Right
|
Ctrl-B/Ctrl-F
- Move the cursor left and right in the search query input field.
Ctrl-A
- Move the cursor to the beginning of the line in the search query input
field.
Ctrl-E
- Move the cursor to the end of the line in the search query input
field.
Backspace
|
Ctrl-H
- Delete one character to the left of the cursor in the search query input
field.
Delete
|
Ctrl-D
- Delete the character under the cursor in the search query input
field.
Ctrl-W
|
Alt-Backspace
- Delete the word to the left of the cursor. A word is recognized as a
sequence of characters for which either isalnum(3) is
true or the character is an underscore.
Ctrl-U
- Delete to the beginning of the line in the search query input field.
Ctrl-K
- Delete to the end of the line in the search query input field.
Printable
characters
- Added to the search query and will refine the current search.
The following environment variables will affect the execution of
pick:
IFS
- Determines the separator used between choices and descriptions.
Select a file in the current directory to open using
xdg-open(1):
$ find -type f | pick | xargs
xdg-open
Select a command from the history to execute:
$ eval $(fc -ln 1 |
pick)
The pick utility exits 0 on
success, and >0 if an error occurs.
The first version of pick was released on
August 18, 2014. Development was sponsored by
thoughtbot from the start of
the project until September 2016.