hstr/man/hh.1
2014-05-21 06:14:09 +02:00

133 lines
3.7 KiB
Groff

.TH HH 1
.SH NAME
\fBhh\fR \- shell history suggest box
.SH SYNOPSIS
.B hh [option] [arg1] [arg2]...
.SH DESCRIPTION
.B hh
uses shell history to provide suggest box like functionality
for commands used in the past. By default it parses .bash-history
file that is filtered as you type a command substring. Commands
are not just filtered, but also ordered by a ranking algorithm
that considers number of occurences, length and timestamp.
Favorite and frequently used commands can be bookmarked. In addition
hh allows removal of commands from history - for instance with a typo
or with a sensitive content.
.SH OPTIONS
.TP
\fB-h --help\fR
Show help
.TP
\fB-n --non-interactive\fR
Print filtered history on standard output and exit
.TP
\fB-f --favorites\fR
Show favorites view immediately
.TP
\fB-s --show-configuration\fR
Show configuration that can be added to ~/.bashrc
.TP
\fB-V --version\fR
Show version information
.SH KEYS
.TP
\fBpattern\fR
Type to filter shell history.
.TP
\fBCtrl\-e\fR
Toggle regular expression and substring search.
.TP
\fBCtrl\-t\fR
Toggle case sensitive search.
.TP
\fBCtrl\-/\fR
Rotate view of history as provided by BASH, ranked history ordered by the number of occurences/length/timestamp and favorites.
.TP
\fBCtrl\-f\fR
Add currently selected command to favorites.
.TP
\fBCtrl\-l\fR
Make search pattern lowercase or uppercase.
.TP
\fBCtrl\-r\fR, \fBUP\fR arrow, \fBDOWN\fR arrow
Navigate in the history list.
.TP
\fBTAB\fR, \fBLEFT\fR arrow, \fBRIGHT\fR arrow,
Choose currently selected item for completion and let user to edit it on the command prompt.
.TP
\fBENTER\fR
Choose currently selected item for completion and execute it.
.TP
\fBDEL\fR
Remove currently selected item from the shell history.
.TP
\fBBACSKSPACE\fR, \fBCtrl\-h\fR
Delete last pattern character.
.TP
\fBCtrl\-u\fR, \fBCtrl\-w\fR
Delete pattern and search again.
.TP
\fBCtrl\-x\fR
Write changes to shell history and exit.
.TP
\fBCtrl\-g\fR
Exit with empty prompt.
.SH ENVIRONMENT VARIABLES
\fBhh\fR defines the following environment variable:
.TP
\fBHH_CONFIG\fR
Configuration options:
\fIhicolor\fR
Get more colors with this option (default is monochromatic).
\fIregexp\fR
Filter command history using regular expressions (substring match is default)
\fIsubstring\fR
Filter command history using substring.
\fIcasesensitive\fR
Make history filtering case sensitive (it's case insensitive by default).
\fIrawhistory\fR
Show normal history as a default view (metric-based view is shown otherwise).
\fIfavorites\fR
Show favorites as a default view (metric-based view is shown otherwise).
\fIwarning\fR
Show warning.
\fIdebug\fR
Show debug information.
Example:
\fBexport HH_CONFIG=hicolor,regexp\fR
.SH FILES
\fB~/.hh_favorites\fR bookmarked favorite commands
.SH CONFIGURATION
Optionally add the following lines to ~/.bashrc:
.nf
.sp
export HH_CONFIG=hicolor # get more colors
shopt -s histappend # append new history items to .bash_history
export HISTCONTROL=ignorespace # leading space hides commands from history
export HISTFILESIZE=10000 # increase history file size (default is 500)
export HISTSIZE=${HISTFILESIZE} # increase history size (default is 500)
export PROMPT_COMMAND="history \-a; history \-n; ${PROMPT_COMMAND}"
# if this is interactive shell, then bind hh to Ctrl-r
if [[ $\- =~ .*i.* ]]; then bind '"\eC\-r": "\eC\-a hh \eC-j"'; fi
.sp
.fi
The prompt command ensures synchronization of the history between BASH memory
and history file.
.SH AUTHOR
Written by Martin Dvorak <martin.dvorak@mindforger.com>
.SH BUGS
Report bugs to https://github.com/dvorka/hstr/issues
.SH "SEE ALSO"
.BR history (1),
.BR bash (1)