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 () { if [[ "$TERM" == screen* ]] ; then local CMD=${1[(wr)^(*=*|sudo|ssh|evince|-*)]} ESC_print ${CMD} fi case $TERM in (xterm*|rxvt*) set_title "${(%):-"%n@%m:"}" "$1" ;; esac } precmd () { if [[ $TERM == screen* ]] ; then ESC_print "zsh" fi case $TERM in (xterm*|rxvt*) set_title ${(%):-"%n@%m: %~"} ;; esac } 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 \{\} + }