This document is an unfinished draft.
Table of contents:
- Installation
- Distribution
- Source code
- Ubuntu
- Debian
- Mint
- Arch
- Mac OS
- Configuration
- Keyboard shortcut
- Colors
- View
- Verbosity
- Shell specific
- Bash
- Zsh
- Features
- History views
- Ranking
- Raw
- Favorites
- History filtering
- Choosing a command
- Favorite commands
- Blacklist
- History views
- Examples
hh is typically started by pressing Ctrl-r after
you configure it for this shorcut for your shell. However,
you can run it as a normal program just by typing:
hhIt opens a page with a history view (ranking view is default).
Alternatively you can run hh in non-interactive mode -
commands are just listed on standard output based on history
view:
hh --non-interactiveFiltering pattern can be optionally specified as well:
hh -i gitPrints history items containing git to standard output and
exits.
When hh starts in interative mode, a view of commands
is shown. This list of commands can be filtered just by typing
a string pattern.
When you filtered the view of history items enough, you can
move around it with UP and DOWN arrow keys. Selected history
items is highlighted. Once you are done with your choice:
- press
ENTERto choose the command and execute it - or press
TABorRIGHTarrow key to choose the command and edit it on command line after exitinghh - or press
LEFTarrow key to choose the command and open it in editor (Bashfci.e. fix command)
hh allows you to store and manage your favorite
commands.
A new favorite command can be added from ranking or raw history view by pressing Ctrl-f.
You can check your favorite commands by choosing
favorite view - rotate views using Ctrl-/ or start
hh by adding favorites to HH_CONFIG environment
property. A favorite command can be choosen just
by pressing ENTER when on command in favorite view.
Last chosen favorite commands appears as the first
one (at the top of the page) in the favorite view.
You can delete a favorite command with DEL key.
Tips:
- Favorite commands are stored in
~/.hh_favorites - Suffix your favorite commands with comments
describing their purpose. For example
printf "\e[?2004l" # fix terminal copy/pasteSuch comment can be used for normal commands as well and may serve as a way how to tag commands.
hh allows you to specify a set of commands to be
skipped from all the views. Blacklist typically contains
frequently used commands whose completion from history
has a little or no value. The default blacklist looks
like this:
pwd
cd
cd ..
ls
hh
mcTips:
- Blacklist of commands is stored in
~/.hh_blacklistIf the file doesn't exist, you may create it and complete it with your own blacklist. - You can skip any command from history just by
prefixing it with
SPACE. For example:echo "Skip this from history"It's a Bash option that is configured usingHISTCONTROL=ignorespaceenvironment variable.
Get more colors when running hh:
export HH_CONFIG=hicolorStart hh in configured view and filter out history items
containing 'git':
hh gitPrint history items containing 'git' to standard output and exit:
hh --non-interactive gitAppend default hh configuration to your Bash profile:
hh --show-configuration >> ~/.bashrcCheck hh man page:
man hh