history.zsh 961 Bytes
Newer Older
1
## Command history configuration
2
if [ -z "$HISTFILE" ]; then
3
4
    HISTFILE=$HOME/.zsh_history
fi
5
6
7

HISTSIZE=10000
SAVEHIST=10000
James Cox's avatar
James Cox committed
8

9
10
11
12
13
14
15
16
17
18
19
20
21
## History wrapper
function omz_history {
  # Delete the history file if `-c' argument provided.
  # This won't affect the `history' command output until the next login.
  if [[ "${@[(i)-c]}" -le $# ]]; then
    echo -n >| "$HISTFILE"
    echo >&2 History file deleted. Reload the session to see its effects.
  else
    fc $@ -l 1
  fi
}

# Timestamp format
LFDM's avatar
LFDM committed
22
case $HIST_STAMPS in
23
24
25
26
  "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' ;;
LFDM's avatar
LFDM committed
27
28
29
esac

setopt append_history
James Cox's avatar
James Cox committed
30
31
setopt extended_history
setopt hist_expire_dups_first
32
setopt hist_ignore_dups # ignore duplication command history list
33
setopt hist_ignore_space
34
35
36
setopt hist_verify
setopt inc_append_history
setopt share_history # share command history data