X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/12f46d4eb8a0843d403a7ee3fb342df68783773c..32bdde5fa442d01349120dd4c3ab1b6c07537631:/base/.zshrc?ds=sidebyside diff --git a/base/.zshrc b/base/.zshrc index 51fcf1e..2285889 100644 --- a/base/.zshrc +++ b/base/.zshrc @@ -1,36 +1,16 @@ -# modules -autoload -Uz vcs_info -zstyle ':vcs_info:*' enable git -zstyle ':vcs_info:*' get-revision true -zstyle ':vcs_info:git*' formats "(%F{green}%r/%b%f) %m%u%c " - -function precmd { - print -Pn "\e]0;%(1j,%j,)%#${SSH_CLIENT+$USER@$HOST}:%~\a" - vcs_info - if ((SECONDS - _exectime >= 5)) { - # bell if exec takes 5s - print "\a" - } -} -function preexec { - # change Xorg title - print -Pnf "\033]0;%s\a" "%#$1" - # save last exec time - _exectime=$SECONDS -} - -# options +## options setopt autocd extendedglob unsetopt beep -# history +## history setopt appendhistory HISTFILE=~/.histfile HISTSIZE=100 SAVEHIST=100 -# keys +## keys bindkey -v +KEYTIMEOUT=1 # xorg bindkey "^[[7~" beginning-of-line #Home bindkey -a "^[[7~" beginning-of-line @@ -39,9 +19,9 @@ bindkey -a "^[[8~" end-of-line bindkey "^[[3~" delete-char #Del bindkey -a "^[[3~" delete-char # bsd vt -bindkey "^[[H" beginning-of-line #Home +bindkey "^[[H" beginning-of-line #Home bindkey -a "^[[H" beginning-of-line -bindkey "^[[F" end-of-line #End +bindkey "^[[F" end-of-line #End bindkey -a "^[[F" end-of-line autoload -Uz up-line-or-beginning-search down-line-or-beginning-search @@ -50,47 +30,78 @@ zle -N down-line-or-beginning-search [[ -n "$key[Up]" ]] && bindkey -- "$key[Up]" up-line-or-beginning-search [[ -n "$key[Down]" ]] && bindkey -- "$key[Down]" down-line-or-beginning-search -# prompt -setopt prompt_subst -PROMPT='%F{$VICOL}%n%f@%F{$VICOL}%m%f%(?../%F{red}$?%f)%# ' -RPROMPT='${vcs_info_msg_0_}%F{yellow}%~%f %T' -KEYTIMEOUT=1 - -function zle-line-init zle-keymap-select { - VICOL="${${KEYMAP:/vicmd/red}:/(main|viins)/green}" - zle reset-prompt -} -zle -N zle-line-init -zle -N zle-keymap-select - -# common aliases +## aliases alias h="history -25" alias j="jobs -l" -alias la="ls -AF" -alias lf="ls -Fdf .* [A-Z]* [^A-Z]*" -alias ll="ls -AFlho" -alias LL="ls -Flhodf .* [A-Z]* [^A-Z]*" -alias pa="sudo ps -Sudax" -function s { sysctl hw.snd.default_unit${1:+=$1} } - +alias l="ls -AF" +alias ll="ls -lAFho" +# ps +local p="ps -aSdxwwouser=USR -ogroup=GRP -opid,nice=N \ + -o%cpu,%mem,tt,stat,start=START -oetime,command | ${PAGER:-more} -Se" +alias pa="$p" +alias spa="sudo $p" +unset p +# sound source +function s { sysctl hw.snd.default_unit${1:+\=$1} } +# py venv +alias va="source bin/activate" +alias vd="deactivate" # be paranoid alias cp='cp -ip' alias mv='mv -i' alias rm='rm -I' - -# venv -alias activate="source bin/activate" - # ports function portpkg { case "$1" { - build|run) ;; - *) - echo "Usage: \`portpkg ' in a port directory" + build|run) + sudo pkg install -AU $(make ${1}-depends-list | + sed 's_/usr/ports/_ _' | tr -d '\n') + ;; + *) echo "Usage: \`portpkg ' in a port directory" return 1;; } - sudo pkg install -AU $(make ${1}-depends-list | - sed 's_/usr/ports/_ _' | tr -d '\n') +} + +## prompt +setopt prompt_subst +PROMPT='%F{$VICOL}%n%f@%F{$VICOL}%2m%f%(?../%F{red}$?%f)%# ' +RPROMPT='%F{yellow}${vcs_info_msg_0_:-%~}%f %T' + +function zle-line-init zle-keymap-select { + VICOL="${${KEYMAP:/vicmd/red}:/(main|viins)/green}" + zle reset-prompt +} +zle -N zle-line-init +zle -N zle-keymap-select + +autoload -Uz vcs_info +zstyle ':vcs_info:*' enable git +zstyle ':vcs_info:git*' formats "%c%u%%F{green}%r/%b%%f/%%F{yellow}%S%%f" +zstyle ':vcs_info:git*' actionformats "%%F{red}(%a)%%f %c%u%%F{green}%r/%b%%f/\ +%%F{yellow}%S%%f" +#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 +zstyle ':vcs_info:git*' stagedstr "%F{blue}+" +zstyle ':vcs_info:git*' unstagedstr "%F{red}*" + +# hooks +function precmd { + # change terminal title + print -Pn "\e]0;%(1j,%j,)%#${SSH_CLIENT+$USER@$HOST:}%~\a" + # update vcs + vcs_info + # bell if exec takes 5s + if ((SECONDS - _exectime >= 5)) print "\a" +} +function preexec { + # change terminal title to show command + print -Pnf "\e]0;%s\a" "%#${SSH_CLIENT+$USER@$HOST:}$1" + # save last exec time for bell + _exectime=$SECONDS +} +function chpwd { + l } # The following lines were added by compinstall