AUTO_CONTINUE LONG_LIST_JOBS \
NO_HIST_SAVE_BY_COPY HIST_IGNORE_DUPS SHARE_HISTORY HIST_REDUCE_BLANKS
-### imports
-autoload -Uz zmv
-autoload -Uz zmathfunc && zmathfunc
-
### exports
## common
export EDITOR=${$(whence -p nvim vim vi micro nano emacs)[(f)1]}
export SDL_VIDEODRIVER=wayland
export TERMINAL=${$(whence -p konsole footclient urxvt xterm)[(f)1]}
+### imports
+autoload -Uz zmv
+autoload -Uz zmathfunc && zmathfunc
+
+## vcs
+zstyle ':vcs_info:*' enable git
+#zstyle ':vcs_info:git*' check-for-changes true #too slow
+zstyle ':vcs_info:git*:dotfiles' check-for-changes true
+zstyle ':vcs_info:git*' check-for-staged-changes true
+autoload -Uz vcs_info
+
+## compinit
+zstyle ':completion:*' auto-description '[arg] %d'
+zstyle ':completion:*' expand suffix
+zstyle ':completion:*' format '# %d'
+zstyle ':completion:*' group-name ''
+zstyle ':completion:*' ignore-parents parent
+zstyle ':completion:*' insert-unambiguous false
+zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
+zstyle ':completion:*' list-prompt '%B%i%b'
+zstyle ':completion:*' list-suffixes true
+zstyle ':completion:*' matcher-list '' 'm:{[:lower:]}={[:upper:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._-]=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*'
+zstyle ':completion:*' menu select=1
+zstyle ':completion:*' original false
+zstyle ':completion:*' select-prompt '%B%l%b'
+zstyle ':completion:*' verbose true
+autoload -Uz compinit
+cache=${XDG_CACHE_HOME:-~/.cache}/zsh
+[[ -d $cache ]] || mkdir -p $cache
+compinit -d $cache/.zcompdump
+unset cache
+
### keys
bindkey -v
KEYTIMEOUT=10
key[$k]=$terminfo[$v]
done; unset k v
}
+
## load history search
autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
zle -N up-line-or-beginning-search
} else {
alias ll='ls -lAFh'
}
-alias p=$PAGER
-alias e=$EDITOR
+alias p=\$PAGER
+alias e=\$EDITOR
alias se=sudoedit
# be paranoid
alias cp='cp -ip'
alias pa=$ps
alias spa="sudo $ps"
unset ps
-
-### specialized aliases
-## go up directories
+## git
+alias gdh='git diff HEAD'
+alias ga='git add'
+alias gc='git commit'
+alias gca='git commit --amend'
+alias gp='git push'
+## cd/zoxide
function up {
- cd $(printf '../%.0s' {1..${1:-1}})
+ \cd $(printf '../%.0s' {1..${1:-1}})
}
alias u=up
-## zoxide
-[[ -v commands[zoxide] ]] && eval "$(zoxide init zsh)"
+if [[ -v commands[zoxide] ]] {
+ eval "$(zoxide init zsh)"
+ alias cd=z
+}
### hooks
autoload -Uz add-zsh-hook
function vol {}
esac
-### modules & styles
-## vcs
-zstyle ':vcs_info:*' enable git
-#zstyle ':vcs_info:git*' check-for-changes true #too slow
-zstyle ':vcs_info:git*:dotfiles' check-for-changes true
-zstyle ':vcs_info:git*' check-for-staged-changes true
-autoload -Uz vcs_info
-
-## compinit
-zstyle ':completion:*' auto-description '[arg] %d'
-zstyle ':completion:*' expand suffix
-zstyle ':completion:*' format '# %d'
-zstyle ':completion:*' group-name ''
-zstyle ':completion:*' ignore-parents parent
-zstyle ':completion:*' insert-unambiguous false
-zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
-zstyle ':completion:*' list-prompt '%B%i%b'
-zstyle ':completion:*' list-suffixes true
-zstyle ':completion:*' matcher-list '' 'm:{[:lower:]}={[:upper:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} r:|[._-]=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*'
-zstyle ':completion:*' menu select=1
-zstyle ':completion:*' original false
-zstyle ':completion:*' select-prompt '%B%l%b'
-zstyle ':completion:*' verbose true
-autoload -Uz compinit
-cache=${XDG_CACHE_HOME:-~/.cache}/zsh
-[[ -d $cache ]] || mkdir -p $cache
-compinit -d $cache/.zcompdump
-unset cache
-
### prompt
autoload -Uz promptinit && promptinit
prompt arrows
### load site-specific
-if [[ -f ${ZDOTDIR:-~}/.zshrc.local ]] { source ${ZDOTDIR:-~}/.zshrc.local }
+load-site-dotfile zshrc