X-Git-Url: https://git.sev.monster/~sev/dotfiles.git/blobdiff_plain/d9362f346f3609007060bdec8ab6691a5537b0ad..7045a58bfc82cacb5b3514f0cbb8739cc2b0c356:/base/.zshrc?ds=inline diff --git a/base/.zshrc b/base/.zshrc index 5fdafa8..51fcf1e 100644 --- a/base/.zshrc +++ b/base/.zshrc @@ -5,20 +5,59 @@ 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 - print -Pn "\e]0;%#zsh%L %(1j,%jj ,)%~\a" + if ((SECONDS - _exectime >= 5)) { + # bell if exec takes 5s + print "\a" + } } function preexec { - printf "\033]0;%s\a" "$1" + # change Xorg title + print -Pnf "\033]0;%s\a" "%#$1" + # save last exec time + _exectime=$SECONDS } +# options +setopt autocd extendedglob +unsetopt beep + +# history +setopt appendhistory +HISTFILE=~/.histfile +HISTSIZE=100 +SAVEHIST=100 + +# keys +bindkey -v +# xorg +bindkey "^[[7~" beginning-of-line #Home +bindkey -a "^[[7~" beginning-of-line +bindkey "^[[8~" end-of-line #End +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 -a "^[[H" beginning-of-line +bindkey "^[[F" end-of-line #End +bindkey -a "^[[F" end-of-line + +autoload -Uz up-line-or-beginning-search down-line-or-beginning-search +zle -N up-line-or-beginning-search +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}" + VICOL="${${KEYMAP:/vicmd/red}:/(main|viins)/green}" zle reset-prompt } zle -N zle-line-init @@ -27,11 +66,12 @@ zle -N zle-keymap-select # common aliases alias h="history -25" alias j="jobs -l" -alias la="ls -aF" -alias lf="ls -AF" -alias ll="ls -lhAF" +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 } +function s { sysctl hw.snd.default_unit${1:+=$1} } # be paranoid alias cp='cp -ip' @@ -42,22 +82,16 @@ alias rm='rm -I' alias activate="source bin/activate" # ports -alias pbuild="sudo pkg install --automatic \`make build-depends-list | sed 's/\/usr\/ports\// /' | tr -d '\n'\`" -alias prun="sudo pkg install --automatic \`make run-depends-list | sed 's/\/usr\/ports\// /' | tr -d '\n'\`" - -# keys -bindkey "^[[7~" beginning-of-line #Home -bindkey "^[[8~" end-of-line #End -bindkey "^[[3~" delete-char #Del -# vt keys -bindkey "^[[H" beginning-of-line #Home -bindkey "^[[F" end-of-line #End - -autoload -Uz up-line-or-beginning-search down-line-or-beginning-search -zle -N up-line-or-beginning-search -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 +function portpkg { + case "$1" { + build|run) ;; + *) + echo "Usage: \`portpkg ' in a port directory" + return 1;; + } + sudo pkg install -AU $(make ${1}-depends-list | + sed 's_/usr/ports/_ _' | tr -d '\n') +} # The following lines were added by compinstall zstyle ':completion:*' auto-description 'specify: %d' @@ -80,13 +114,4 @@ autoload -Uz compinit compinit # End of lines added by compinstall -# Lines configured by zsh-newuser-install -HISTFILE=~/.histfile -HISTSIZE=100 -SAVEHIST=100 -setopt appendhistory autocd extendedglob -unsetopt beep -bindkey -v -# End of lines configured by zsh-newuser-install - # vim: ts=8:sts=4:sw=4:et:tw=79