zsh: history options refactor

This commit is contained in:
thek4n 2023-12-01 09:07:38 +03:00
parent 639c2185dc
commit ad5fba2f0c
2 changed files with 12 additions and 5 deletions

View File

@ -1,17 +1,25 @@
# History configurations
export HISTFILE=~/.zsh_history
export HISTSIZE=1000
export SAVEHIST=2000
export HISTSIZE=10000
export SAVEHIST=20000
setopt HIST_IGNORE_SPACE
setopt HIST_FIND_NO_DUPS
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
setopt share_history # share command history data
HISTORY_IGNORE="(exit|q|c|..|l[l,s,a,.])"
export HISTORY_IGNORE='(cd|c|q|exit|l[sal.]#( *)#|[bf]g#( *)#|..|lsl#( *)#|ll[a.]#( *)#)'
# configure `time` format
TIMEFMT=$'\nreal\t%E\nuser\t%U\nsys\t%S\ncpu\t%P'
zshaddhistory() {
emulate -L zsh
## uncomment if HISTORY_IGNORE
## should use EXTENDED_GLOB syntax
setopt extendedglob
[[ ${1::-1} != ${~HISTORY_IGNORE} ]]
}

View File

@ -6,7 +6,6 @@ setopt nonomatch # hide error message if there is no match for the pat
setopt notify # report the status of background jobs immediately
setopt numericglobsort # sort filenames numerically when it makes sense
setopt promptsubst # enable command substitution in prompt
setopt histignorespace # Don't save commands that start with space
WORDCHARS=${WORDCHARS//\/} # Don't consider certain characters part of the word