Skip to content

Repository files navigation

selecta - Interactively search and select entries from your bash/zsh history.

Python package

This is a Python3 clone of François Fleuret's excellent selector tool.

Screencast

Usage

Just type some characters and see which entries match your words.

You can search for whole sentences by prefixing your search with a double quote.

Use up and down arrows to navigate the list.

Escape/Backspace on the result list returns to the search input.

Escape on the search input closes selecta.

Press Enter to copy the selected entry to the console.

CTRL+a toggles case sensitivity

CTRL+r toggles regex search

Installation

pip install selecta

Install the keyboard shortcut ALT+{key}:

selecta_add_keybinding {the alt key you want to use}

This will append one of the following lines to your ~/.bashrc/zshrc:

bind -x '"\C-[{key}":"\selecta -b -y <(history)"'bindkey -s "^[{key}" "selecta -z -y <(history)^M"

Upgrade from older version to 0.2.x

Delete your old keybinding from .bashrc/.zshrc and register the new version with:

selecta_add_keybinding

--help output

 usage: selecta [-h] [-i] [-b] [-z] [-e] [-a] [-d] [-y] [--bash] [--zsh]
[infile]
positional arguments:
infile the file which lines you want to select eg. <(history)
optional arguments:
-h, --help show this help message and exit
-i, --reverse-order reverse the order of the lines
-b, --remove-bash-prefix
remove the numeric prefix from bash history
-z, --remove-zsh-prefix
remove the time prefix from zsh history
-e, --regexp start in regexp mode
-a, --case-sensitive start in case-sensitive mode
-d, --remove-duplicates
remove duplicated lines
-y, --show-matches highlight the part of each line which matches the
substrings or regexp
--bash standard for bash history search, same as -b -i -d
--zsh standard for zsh history search, same as -b -i -d

About

Interactively select an entry from your bash history.

Resources

Stars

14 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages