X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/5437a0d2b352a5e15dd03dc65733aaeb5688f9d8..024170a4eaed28d31833f95602369e9ccdf70a13:/etc/zsh/.zshrc diff --git a/etc/zsh/.zshrc b/etc/zsh/.zshrc index bd670c2..c0fdef9 100644 --- a/etc/zsh/.zshrc +++ b/etc/zsh/.zshrc @@ -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