function info_print () { local esc_begin esc_end esc_begin="$1" esc_end="$2" shift 2 printf '%s' ${esc_begin} printf '%s' "$*" printf '%s' "${esc_end}" } function set_title () { info_print $'\e]0;' $'\a' "$@" } function ESC_print () { info_print $'\ek' $'\e\\' "$@" } preexec () { case $TERM in (xterm*|rxvt*) set_title "${(%):-"%n@%m:"}" "$1" ;; (screen*) local CMD=${1[(wr)^(*=*|sudo|ssh|evince|-*)]} ESC_print ${CMD} ;; esac } precmd () { case $TERM in (xterm*|rxvt*) set_title ${(%):-"%n@%m: %~"} ;; (screen*) ESC_print "zsh" ;; esac vcs_info if [[ -n ${vcs_info_msg_0_} ]]; then local HENKSPROMPT="%(0?..%F{red}E%?%f )%(1j.%F{yellow}J%j%f .)%(3L.%F{yellow}L%L%f .)%3~ %F{green}$VCSH_REPO_NAME%f%F{yellow}${vcs_info_msg_0_}%f%# " PS1="$HENKSPROMPTHEADER$HENKSPROMPT" else local HENKSPROMPT="%(0?..%F{red}E%?%f )%(1j.%F{yellow}J%j%f .)%(3L.%F{yellow}L%L%f .)%3~ %F{green}$VCSH_REPO_NAME%f%# " PS1="$HENKSPROMPTHEADER$HENKSPROMPT" fi } function vifind () { vi $( find $1 -type f ) } function shufflevideos () { find $@ -type f -iregex ".*\.\(avi\|flv\|mkv\|mpeg\|mpg\|wmv\|wva\|mp4\|webm\|wva\|m4v\|ogm\|mp4\|mov\)" -exec mpv --shuffle $MPVOPTS \{\} + } function zle-line-init zle-keymap-select { RPS1="%B${${KEYMAP/vicmd/c}/(main|viins)/}%b" RPS2=$RPS1 zle reset-prompt }