# tilde directories hash -d \ nixos=/etc/nixos \ dl=~/Downloads \ git=~/git hash -d \ github=~git/github.com \ gitlab=~git/gitlab.com # Zsh options setopt extendedglob setopt incappendhistory setopt sharehistory setopt histignoredups setopt histreduceblanks setopt histignorespace setopt histallowclobber setopt autocd setopt cdablevars setopt nomultios setopt pushdignoredups setopt autocontinue setopt promptsubst # Environment HISTSIZE=10000 SAVEHIST=10000 HISTFILE=$HOME/.history DIRSTACKSIZE=5 # key binds bindkey -v '^?' backward-delete-char bindkey '^[OA' history-substring-search-up bindkey '^[OB' history-substring-search-down bindkey -M vicmd 'k' history-substring-search-up bindkey -M vicmd 'j' history-substring-search-down # if in tmux launch skim in tmux pane [[ ${+TMUX} == 1 ]] \ && SKIM_TMUX=1 #load compinit autoload -Uz compinit typeset -i updated_at=$(date +'%j' -r ~/.zcompdump \ || stat -f '%Sm' -t '%j' ~/.zcompdump) # save time if completion cache has been update recently if [ $(date +'%j') != $updated_at ]; then compinit else compinit -C fi # Case insens only when no case match; after all completions loaded zstyle ':completion:*' matcher-list \ "" 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*' # Auto rehash for new binaries zstyle ':completion:*' rehash true # remove duplicates from paths typeset -U path typeset -U fpath # keep shell state frozen ttyctl -f