prezto/modules/history/init.zsh
2023-05-17 02:38:50 -05:00

44 lines
1.8 KiB
Bash

#
# Sets history options and defines history aliases.
#
# Authors:
# Robby Russell <robby@planetargon.com>
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
#
# Options
#
setopt BANG_HIST # Treat the '!' character specially during expansion.
setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format.
setopt SHARE_HISTORY # Share history between all sessions.
setopt HIST_EXPIRE_DUPS_FIRST # Expire a duplicate event first when trimming history.
setopt HIST_IGNORE_DUPS # Do not record an event that was just recorded again.
setopt HIST_IGNORE_ALL_DUPS # Delete an old recorded event if a new event is a duplicate.
setopt HIST_FIND_NO_DUPS # Do not display a previously found event.
setopt HIST_IGNORE_SPACE # Do not record an event starting with a space.
setopt HIST_SAVE_NO_DUPS # Do not write a duplicate event to the history file.
setopt HIST_VERIFY # Do not execute immediately upon history expansion.
setopt HIST_BEEP # Beep when accessing non-existent history.
#
# Variables
#
zstyle -s ':prezto:module:history' histfile 'HISTFILE' \
|| HISTFILE="${HISTFILE:-${ZDOTDIR:-$HOME}/.zsh_history}" # The path to the history file.
zstyle -s ':prezto:module:history' histsize 'HISTSIZE' \
|| HISTSIZE=10000 # The maximum number of events to save in the internal history.
zstyle -s ':prezto:module:history' savehist 'SAVEHIST' \
|| SAVEHIST=$HISTSIZE # The maximum number of events to save in the history file.
#
# Aliases
#
if ! zstyle -t ':prezto:module:history:alias' skip; then
# Lists the ten most used commands.
alias history-stat="history 0 | awk '{print \$2}' | sort | uniq -c | sort -n -r | head"
fi