From ad5fba2f0c84adfcd31f64793c41ccfeb93b2db7 Mon Sep 17 00:00:00 2001 From: thek4n Date: Fri, 1 Dec 2023 09:07:38 +0300 Subject: [PATCH] zsh: history options refactor --- home/user/.config/zsh/history | 16 ++++++++++++---- home/user/.config/zsh/options | 1 - 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/home/user/.config/zsh/history b/home/user/.config/zsh/history index b42cf71..6d78538 100644 --- a/home/user/.config/zsh/history +++ b/home/user/.config/zsh/history @@ -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} ]] +} diff --git a/home/user/.config/zsh/options b/home/user/.config/zsh/options index d223157..1e5e14f 100644 --- a/home/user/.config/zsh/options +++ b/home/user/.config/zsh/options @@ -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