diff options
| author | Syndamia <kamen@syndamia.com> | 2022-08-05 12:30:29 +0300 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2022-08-05 12:30:29 +0300 |
| commit | c91d299887d93d6e8940b80442bf6c2f10fe6a64 (patch) | |
| tree | 4669e410707026952d56f2cdae7764bf0a39773d /.zsh/omz/history.zsh | |
| parent | 80b4c81b618d4e75b301ac1dd5adfb47f91deca7 (diff) | |
| download | dotfiles-c91d299887d93d6e8940b80442bf6c2f10fe6a64.tar dotfiles-c91d299887d93d6e8940b80442bf6c2f10fe6a64.tar.gz dotfiles-c91d299887d93d6e8940b80442bf6c2f10fe6a64.zip | |
Added a lot of untracked files and updated other files
Diffstat (limited to '.zsh/omz/history.zsh')
| -rw-r--r-- | .zsh/omz/history.zsh | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/.zsh/omz/history.zsh b/.zsh/omz/history.zsh new file mode 100644 index 0000000..7940769 --- /dev/null +++ b/.zsh/omz/history.zsh @@ -0,0 +1,40 @@ +## History wrapper +function omz_history { + local clear list + zparseopts -E c=clear l=list + + if [[ -n "$clear" ]]; then + # if -c provided, clobber the history file + echo -n >| "$HISTFILE" + fc -p "$HISTFILE" + echo >&2 History file deleted. + elif [[ -n "$list" ]]; then + # if -l provided, run as if calling `fc' directly + builtin fc "$@" + else + # unless a number is provided, show all history events (starting from 1) + [[ ${@[-1]-} = *[0-9]* ]] && builtin fc -l "$@" || builtin fc -l "$@" 1 + fi +} + +# Timestamp format +case ${HIST_STAMPS-} in + "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' ;; + *) alias history="omz_history -t '$HIST_STAMPS'" ;; +esac + +## History file configuration +[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history" +[ "$HISTSIZE" -lt 50000 ] && HISTSIZE=50000 +[ "$SAVEHIST" -lt 10000 ] && 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 share_history # share command history data |
