]> git.sev.monster Git - dotfiles.git/blobdiff - etc/zsh/.zshrc
zshrc: add more git aliases, dotfiles update alias
[dotfiles.git] / etc / zsh / .zshrc
index 5b9c79a1b8ede832ea13b4ab1c3d109366183fc6..64c7c5e79266d90850b3c6b2289811ec01668278 100644 (file)
@@ -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]}
@@ -26,13 +22,44 @@ export SAVEHIST=1000
 export PYTHONSTARTUP=${XDG_CONFIG_HOME:-~/.config}/pythonrc
 ## vim
 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
-export QT_QPA_PLATFORM=wayland-egl
-export QT_WAYLAND_DISABLE_WINDOWDECORATION=-1
-export SDL_VIDEODRIVER=wayland
-export TERMINAL=${$(whence -p konsole footclient urxvt xterm)[(f)1]}
+## wayland/gui env
+export XDG_SESSION_TYPE=${XDG_SESSION_TYPE:-wayland}
+export QT_QPA_PLATFORM=${QT_QPA_PLATFORM:-wayland-egl}
+export QT_WAYLAND_DISABLE_WINDOWDECORATION=${QT_WAYLAND_DISABLE_WINDOWDECORATION:--1}
+export SDL_VIDEODRIVER=${SDL_VIDEODRIVER:-wayland}
+export TERMINAL=${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
@@ -94,6 +121,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
@@ -133,7 +161,10 @@ for k v in ${(kv)a}; do
 done
 unset a k v
 
-### abbreviation aliases
+### aliases
+## builtins
+alias rehash='_sev_setpath; rehash'
+## utils
 alias h='fc -l -25'
 alias j='jobs -l'
 alias l='ls -AF'
@@ -142,8 +173,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 +218,26 @@ if [[ "$(basename "$PAGER")" = "less" ]] {
 alias pa=$ps
 alias spa="sudo $ps"
 unset ps
-
-### specialized aliases
-## go up directories
+## git
+alias gd='git diff'
+alias gdh='git diff HEAD'
+alias ga='git add'
+alias gc='git commit'
+alias gca='git commit --amend'
+alias gp='git push'
+alias gu='git pull'
+## 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] ]] {
+    # https://github.com/ajeetdsouza/zoxide/issues/513
+    eval "${$(zoxide init zsh):s#_files -/#_cd#}"
+    alias cd=z
+}
+## dotfiles
+alias dfu='d=${$(echo ~/.zshenv):P:h:h};GIT_DIR=$d/.git GIT_WORK_TREE=$d git pull'
 
 ### hooks
 autoload -Uz add-zsh-hook
@@ -232,7 +274,7 @@ add-zsh-hook chpwd sev_chpwd
 ### system-specific configs and aliases
 case $OSTYPE; in
     freebsd*)
-        # colors
+        ## colors
         export CLICOLOR=
         export LS_COLORS='di=34:ln=35:so=32:pi=33:ex=31:bd=46;34:cd=43;34:su=41;30:sg=46;30:tw=42;30:ow=43;30'
 
@@ -242,8 +284,8 @@ case $OSTYPE; in
 
         ## install port dependencies from pkg (like pkgsrc `bmake bin-install')
         # XXX: should probably use package-depends where possible, breaks when
-        #     port name is different to package name
-        #     (eg. graphics/sdl20 == sdl2, devel/glib20 == glib2, etc)
+        #      port name is different to package name
+        #      (eg. graphics/sdl20 == sdl2, devel/glib20 == glib2, etc)
         function portpkg {
             case "$1" {
             build|run)
@@ -281,38 +323,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
-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
This page took 0.053487 seconds and 4 git commands to generate.