mirror of
				https://github.com/ohmyzsh/ohmyzsh.git
				synced 2025-11-04 21:31:19 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
## History wrapper
 | 
						|
function omz_history {
 | 
						|
  local clear list
 | 
						|
  zparseopts -E c=clear l=list
 | 
						|
 | 
						|
  if [[ -n "$clear" ]]; then
 | 
						|
    # if -c provided, clobber the history file
 | 
						|
    echo -n >| "$HISTFILE"
 | 
						|
    fc -p "$HISTFILE"
 | 
						|
    echo >&2 History file deleted.
 | 
						|
  elif [[ -n "$list" ]]; then
 | 
						|
    # if -l provided, run as if calling `fc' directly
 | 
						|
    builtin fc "$@"
 | 
						|
  else
 | 
						|
    # unless a number is provided, show all history events (starting from 1)
 | 
						|
    [[ ${@[-1]-} = *[0-9]* ]] && builtin fc -l "$@" || builtin fc -l "$@" 1
 | 
						|
  fi
 | 
						|
}
 | 
						|
 | 
						|
# Timestamp format
 | 
						|
case ${HIST_STAMPS-} in
 | 
						|
  "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' ;;
 | 
						|
  *) alias history="omz_history -t '$HIST_STAMPS'" ;;
 | 
						|
esac
 | 
						|
 | 
						|
## History file configuration
 | 
						|
[ -z "$HISTFILE" ] && HISTFILE="$HOME/.zsh_history"
 | 
						|
[ "$HISTSIZE" -lt 50000 ] && HISTSIZE=50000
 | 
						|
[ "$SAVEHIST" -lt 10000 ] && SAVEHIST=10000
 | 
						|
 | 
						|
## History command configuration
 | 
						|
setopt extended_history       # record timestamp of command in HISTFILE
 | 
						|
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
 |