xaizek / hstr (License: Apachev2) (since 2018-12-07)
Bash and Zsh shell history suggest box - easily view, navigate, search and manage your command history.
<root> / README.md (3c6fb3a31d5574e872892206e2c3073fd9423fd2) (2,047B) (mode 100644) [raw]
hstr
====

BASH History Suggest Box - [http://www.youtube.com/watch?v=sPF29NyXe2U](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 faster
than Ctrl-R.


[![Shell History Suggest Box](http://mindforger.com/projects/images/hh-1.jpg "Shell History Suggest Box")](http://mindforger.com/projects/images/hh-1.jpg)


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`

* 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`

* Configure `hh`:

      `hh --show-configuration >> ~/.bashrc`


MAC OS
------
* install MacPorts:

   http://www.macports.org

* configure using:

   `env CFLAGS="-I/opt/local/include -I/usr/include" LDFLAGS="-L/opt/local/lib -L/usr/lib" ./configure`

* finish the installation

    `make && make install`

* Configure `hh`:

      `hh --show-configuration >> ~/.bashrc`


CONFIGURATION EXPLANATION
-------------------------
* appending of the in memory history (instead of overwriting it) 
  to `.bash_history`: 

    `shopt -s histappend`

* flushing and realoading of `.bash_history` in order to ensure that
  it is in sync with memory:

     `export PROMPT_COMMAND="history -a; history -n; ${PROMPT_COMMAND}"`

* binding of `hh` to a BASH key (e.g. to `Ctrl-R`):

    `bind '"\C-r": "\C-ahh \C-j"'`

  `Ctrl-F12` would be:

    `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`

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