X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/8d4a98e19ec40334ed8e8f2ce4e5a9f094bdbcaf..3fcf651cfeaf7e260d302b61b973e1563f73ba10:/etc/zsh/.zshrc?ds=inline diff --git a/etc/zsh/.zshrc b/etc/zsh/.zshrc index 5ca4858..d49afaa 100644 --- a/etc/zsh/.zshrc +++ b/etc/zsh/.zshrc @@ -7,10 +7,6 @@ setopt NO_BEEP NO_CLOBBER \ 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]} @@ -25,7 +21,7 @@ export SAVEHIST=1000 ## python export PYTHONSTARTUP=${XDG_CONFIG_HOME:-~/.config}/pythonrc ## vim -export VIMINIT='execute "source" ($XDG_CONFIG_HOME??($HOME."/.config"))."/vim/.vimrc"' +export VIMINIT='let$MYVIMRC=($XDG_CONFIG_HOME??($HOME."/.config"))."/vim/.vimrc"|execute"source"$MYVIMRC' ## wayland/sway # XXX: only do this if we're actually in wayland, but without a start script export XDG_SESSION_TYPE=wayland @@ -34,6 +30,38 @@ export QT_WAYLAND_DISABLE_WINDOWDECORATION=-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 @@ -94,6 +122,7 @@ if (( $#terminfo == 0 )) { 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 @@ -142,8 +171,8 @@ if [[ "$OSTYPE" =~ '^(free|net)bsd' ]] { } 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' @@ -187,15 +216,21 @@ if [[ "$(basename "$PAGER")" = "less" ]] { 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 @@ -281,39 +316,9 @@ case $OSTYPE; in 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 - ### prompt autoload -Uz promptinit && promptinit prompt arrows ### load site-specific -if [[ -f ${ZDOTDIR:-~}/.zshrc.local ]] { source ${ZDOTDIR:-~}/.zshrc.local } - -# vim: et sts=4 sw=4 ts=8 tw=79 +load-site-dotfile zshrc