commit
676038bdfa
1 changed files with 36 additions and 19 deletions
@ -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 |
||||
|
||||
Loading…
Reference in new issue