diff options
author | Tuowen Zhao <ztuowen@gmail.com> | 2018-04-25 15:36:48 -0600 |
---|---|---|
committer | Tuowen Zhao <ztuowen@gmail.com> | 2018-04-25 15:36:48 -0600 |
commit | 1481f7aa67df42bdf45953231637194ac200d240 (patch) | |
tree | 7d41eb6b369e3ab0f25753623c966b69340e54cf /lib/history.zsh | |
parent | b7b623d6de696b81d213ec666d072851561d5c06 (diff) | |
parent | 9cd3701ac0297f4bdf9673ea0dffa8ffdaea63e8 (diff) | |
download | zsh-1481f7aa67df42bdf45953231637194ac200d240.tar.gz zsh-1481f7aa67df42bdf45953231637194ac200d240.tar.bz2 zsh-1481f7aa67df42bdf45953231637194ac200d240.zip |
Merge branch 'master' of https://github.com/robbyrussell/oh-my-zsh
Diffstat (limited to 'lib/history.zsh')
-rw-r--r-- | lib/history.zsh | 55 |
1 files changed, 36 insertions, 19 deletions
diff --git a/lib/history.zsh b/lib/history.zsh index 5de71c2d3..7d4e59d00 100644 --- a/lib/history.zsh +++ b/lib/history.zsh @@ -1,24 +1,41 @@ -## Command history configuration -if [ -z "$HISTFILE" ]; then - HISTFILE=$HOME/.zsh_history -fi +## History wrapper +function omz_history { + # Delete the history file if `-c' argument provided. + # This won't affect the `history' command output until the next login. + zparseopts -E c=clear l=list -HISTSIZE=10000 -SAVEHIST=10000 + if [[ -n "$clear" ]]; then + # if -c provided, clobber the history file + echo -n >| "$HISTFILE" + echo >&2 History file deleted. Reload the session to see its effects. + elif [[ -n "$list" ]]; then + # if -l provided, run as if calling `fc' directly + builtin fc "$@" + else + # otherwise, call `fc -l 1` to show all available + # history (and pass additional parameters) + builtin fc "$@" -l 1 + fi +} -# Show history +# Timestamp format case $HIST_STAMPS in - "mm/dd/yyyy") alias history='fc -fl 1' ;; - "dd.mm.yyyy") alias history='fc -El 1' ;; - "yyyy-mm-dd") alias history='fc -il 1' ;; - *) alias history='fc -l 1' ;; + "mm/dd/yyyy") alias history='omz_history -f' ;; + "dd.mm.yyyy") alias history='omz_history -E' ;; + "yyyy-mm-dd") alias history='omz_history -i' ;; + *) alias history='omz_history' ;; esac -setopt append_history -setopt extended_history -setopt hist_expire_dups_first -setopt hist_ignore_dups # ignore duplication command history list -setopt hist_ignore_space -setopt hist_verify -setopt inc_append_history -setopt share_history # share command history data +## History file configuration +[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history" +HISTSIZE=50000 +SAVEHIST=10000 + +## History command configuration +setopt extended_history # record timestamp of command in HISTFILE +setopt hist_expire_dups_first # delete duplicates first when HISTFILE size exceeds HISTSIZE +setopt hist_ignore_dups # ignore duplicated commands history list +setopt hist_ignore_space # ignore commands that start with space +setopt hist_verify # show command with history expansion to user before running it +setopt inc_append_history # add commands to HISTFILE in order of execution +setopt share_history # share command history data |