xaizek / hstr (License: Apachev2) (since 2018-12-07)
Bash and Zsh shell history suggest box - easily view, navigate, search and manage your command history.
File Mode Size
bin/ 040000
debian/ 040000
dist/ 040000
man/ 040000
src/ 040000
tests/ 040000
LICENSE 100644 11KiB
Makefile.am 100644 44B
README.md 100644 2,692B
configure.ac 100644 1,318B

/README.md

hstr

BASH History Suggest Box - http://www.youtube.com/watch?v=sPF29NyXe2U

DESCRIPTION

A command line utility that brings improved BASH command completion from the history. It aims to make completion easier and more efficient than Ctrl-r.

BASH History Suggest Box

UBUNTU INSTALLATION

  • install hh on Ubuntu (12.10/13.04/13.10):
sudo add-apt-repository ppa:ultradvorka/ppa
sudo apt-get update
sudo apt-get install hh
  • optionally configure hh:
hh --show-configuration >> ~/.bashrc

DOWNLOAD

https://github.com/dvorka/hstr/releases

SOURCE CODE INSTALLATION

  • download distribution (project Releases section), expand the archive and install hh:
./configure && make && make install
  • optionally configure hh:
hh --show-configuration >> ~/.bashrc

MAC OS

  • install MacPorts:

    http://www.macports.org

  • set the environment:

env CFLAGS="-I/opt/local/include -I/usr/include" LDFLAGS="-L/opt/local/lib -L/usr/lib" ./configure
  • finish the installation
make && make install
  • optionally configure hh:
hh --show-configuration >> ~/.bashrc

CONFIGURATION EXPLANATION

  • hh works best with the optional configuration described in this section. You can configure hh just by running:
hh --show-configuration >> ~/.bashrc
  • bind hh to a BASH key e.g. to Ctrl-R:
bind '"\C-r": "\C-ahh \C-j"'

or Ctrl-F12:

bind '"\e[24;5~":"\C-ahh \C-j"'

To determine the character sequence emitted by a pressed key in terminal, type Ctrl-v and then press the key. Check your current bindings using:

bind -S
  • get hh in more colors:
export HH_CONFIG=hicolor
  • increase the size of history:
export HISTFILESIZE=10000
export HISTSIZE=${HISTFILESIZE}

Variables defined above increase the number of history items and history file size (default value is 500).

  • ensure syncing (flushing and reloading) of .bash_history with in-memory history:
export PROMPT_COMMAND="history -a; history -n; ${PROMPT_COMMAND}"
  • force appending of in-memory history to .bash_history (instead of overwriting):
shopt -s histappend
  • use leading space to hide commands from history:
export HISTCONTROL=ignorespace

Suitable for a sensitive information like passwords.

BUGS

https://github.com/dvorka/hstr/issues

Hints

Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://code.reversed.top/user/xaizek/hstr

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@code.reversed.top/user/xaizek/hstr

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a pull request:
... clone the repository ...
... make some changes and some commits ...
git push origin master