]> git.sev.monster Git - dotfiles.git/blobdiff - etc/zsh/.zshrc
zshenv: fix regression with perl changes
[dotfiles.git] / etc / zsh / .zshrc
index fd1f3788652c4057bb95d9e6fa50f02139924b24..c0fdef951fe95957bd5b8ee6658aec61e9c5b568 100644 (file)
@@ -200,6 +200,10 @@ for k v (${(kv)a}) {
 }
 unset a k v
 
+## other binds
+# bash-style reverse-search-history (i.e. reverse-i-search)
+bindkey '^R' history-incremental-pattern-search-backward
+
 ### aliases
 ## builtins
 alias rehash='_sev_setpath; rehash'
@@ -215,6 +219,14 @@ if [[ "$OSTYPE" =~ '^(free|net)bsd' ]] {
 alias p=\$PAGER
 alias e=\$EDITOR
 alias se=sudoedit
+alias syncwatch='sync & watch -d grep -Fe Dirty: -e Writeback: /proc/meminfo'
+if [[ -v commands[grep] ]] {
+    [[ -v commands[fgrep] ]] || alias fgrep='grep -F'
+    [[ -v commands[egrep] ]] || alias fgrep='grep -E'
+}
+for x (cat cmp diff grep test update) {
+    [[ -v commands[zutils-z$x] ]] || alias z$x=zutils-z$x
+}
 # be paranoid
 alias cp='cp -ip'
 alias mv='mv -i'
@@ -234,25 +246,23 @@ if [[ "$OSTYPE" =~ '^freebsd' ]] {
 }
 [[ -v commands[trash-put] ]] && alias t=trash-put
 # ps
-source ~/.local/bin/.check-busybox
-if [[ -v commands[pstree] ]] && ! check-busybox pstree; then
+if [[ -v commands[pstree] && $commands[pstree]:A:t != busybox ]] {
     # use pstree, but NOT busybox pstree because it kinda sucks
-    ps="pstree -wg3"
-elif [[ "$OSTYPE" =~ '^freebsd' ]]; then
-    ps="ps -aSdfxwwouser=USR -ogroup=GRP -opid,nice=NI \
-       -o%cpu,%mem,tty,stat,start=START -oetime,command"
-elif check-busybox ps; then
+    ps='pstree -wg3'
+} elif [[ "$OSTYPE" =~ '^freebsd' ]] {
+    ps='ps -aSdfxwwouser=USR -ogroup=GRP -opid,nice=NI \
+       -o%cpu,%mem,tty,stat,start=START -oetime,command'
+} elif [[ $commands[ps]:A:t == busybox ]] {
     # busybox compatible
     ps="ps -eouser='USR     ' -ogroup='GRP     ' \
        -opid='  PID' -onice=' NI' -ovsz=' MEM' \
        -otty,stat,etime,comm"
-else
+} else {
     # XXX: untested, posix
     # TODO: support gnu ps
-    ps="ps -eouser=USR -ogroup=GRP -opid,nice=NI \
-       -opcpu=CPU -ovsz=MEM -otty,stat,etime,comm"
-fi
-unfunction check-busybox
+    ps='ps -eouser=USR -ogroup=GRP -opid,nice=NI \
+       -opcpu=CPU -ovsz=MEM -otty,stat,etime,comm'
+}
 if [[ "$(basename "$PAGER")" = "less" ]] {
     ps="$ps | less -S"
 } else {
@@ -264,18 +274,26 @@ unset ps
 ## py venv
 alias va='source bin/activate'
 alias vd=deactivate
+alias vu="python3 -mvenv --upgrade"
+alias svu="sudo python3 -mvenv --upgrade"
 ## git
 alias g=git
 alias gd='git diff'
 alias gdh='git diff HEAD'
+alias gds='git diff --staged'
 alias ga='git add'
 alias ga.='git add .'
+alias gai='git add -i'
+alias gap='git add -p'
 alias gc='git commit'
 alias gca='git commit --amend'
 alias gp='git push'
 alias gu='git pull'
 alias gl='git log'
 alias gt='git tree' # from gitconfig
+alias gs='git show'
+alias gst='git stash'
+alias gsp='git stash pop'
 ## cd/zoxide
 function up {
     \cd $(printf '../%.0s' {1..${1:-1}})
@@ -288,13 +306,13 @@ if [[ -v commands[zoxide] ]] {
 }
 alias cd..=up
 ## dotfiles
-alias dfu=' function {
-    local d=${$(echo -E - ~/.zshenv):P:h:h}
-    local -x GIT_DIR=$d/.git GIT_WORK_TREE=$d
+alias dfu='function {
+    pushd -q ${$(echo -E - ~/.zshenv):P:h:h}
     git pull &&
     git submodule init &&
     git submodule sync &&
     git submodule update
+    popd -q
 }'
 ## nocorrect
 # zsh doesnt really handle sudo very well, so ignore it
@@ -307,7 +325,7 @@ alias dcl='sudo docker compose logs -f'
 
 ### hooks
 autoload -Uz add-zsh-hook
-_sev_exectime=
+typeset -gi _sev_exectime
 function sev_preexec {
     # change terminal title to show command
     print -n "\e]2;$(print -P '%#')${SSH_CLIENT+$USER@$HOST:}$1\e\\"
This page took 0.085807 seconds and 4 git commands to generate.