From 31f8b64413e7df94638eb718565ece799d0d89a2 Mon Sep 17 00:00:00 2001 From: James Patrick Date: Wed, 1 May 2019 21:05:11 -0400 Subject: [PATCH] Added history to zsh. Users can still set $HISTFILE if they want to and this will be used instead. If no value is specified it will default to the $ZDIR/transient/history file. --- zsh/modules/history/init.zsh | 18 ++++++++++++++++++ zsh/zplug | 4 ++++ 2 files changed, 22 insertions(+) create mode 100644 zsh/modules/history/init.zsh diff --git a/zsh/modules/history/init.zsh b/zsh/modules/history/init.zsh new file mode 100644 index 0000000..22fece3 --- /dev/null +++ b/zsh/modules/history/init.zsh @@ -0,0 +1,18 @@ +HISTFILE=${HISTFILE:-$ZDIR/transient/history} # The path to the history file. +HISTSIZE=100000 # The maximum number of events to save in the internal history. +SAVEHIST=100000 # The maximum number of events to save in the history file. + +setopt BANG_HIST # Treat the '!' character specially during expansion. +setopt EXTENDED_HISTORY # Write the history file in the ':start:elapsed;command' format. +setopt INC_APPEND_HISTORY # Write to the history file immediately, not when the shell exits. +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. + +chmod 700 $HISTFILE # Always make sure that only I can access history. diff --git a/zsh/zplug b/zsh/zplug index 2c2f446..1bafd88 100644 --- a/zsh/zplug +++ b/zsh/zplug @@ -38,6 +38,10 @@ zplug "${ZDIR}/modules/fzf/", \ use:"fzf-tmux", \ as:command +zplug "${ZDIR}/modules/history/", \ + from:local, \ + as:plugin + env_loader zplug