logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

pick — fuzzy select anything

Asynchronous Events

       SIGWINCH  The screen is resized.

Authors

       Calle Erlandsson <calle@calleerlandsson.com>
       Anton Lindqvist <anton.lindqvist@gmail.com>

Debian                                           August 17, 2014                                         PICK(1)

Commands

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.

       Printablecharacters
             Added to the search query and will refine the current search.

Description

       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 keypad 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.

       -qquery  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.

Diagnostics

       The pick utility exits 0 on success, and >0 if an error occurs.

Environment

       The following environment variables will affect the execution of pick:

       IFS  Determines the separator used between choices and descriptions.

Examples

       Select a file in the current directory to open using xdg-open(1):

             $find.-typef | pick | xargsxdg-open

       Select a command from the history to execute:

             $eval$(fc-ln1 | pick)

History

       The first version of pick was released on August 18, 2014.   Development  was  sponsored  by  thoughtbot:
       https://thoughtbot.com from the start of the project until September 2016.

Name

       pick — fuzzy select anything

Synopsis

pick [-hvKS] [-d [-o]] [-x | -X] [-qquery]

See Also