--- /dev/null
+function zle-line-init zle-keymap-select {
+ local state="%#" timer_val="?"
+ [[ ${KEYMAP} == vicmd ]] && state="+"
+ [[ $timer ]] && timer_val=$(( $SECONDS - $timer ))
+ prompt="%2~ "
+ prompt+="%U${timer_val}%u|"
+ prompt+="%B%?%b"
+ prompt+="%B%F{magenta}${state}%f%b "
+ PS1=$prompt
+ zle reset-prompt
+}
+zle -N zle-line-init
+zle -N zle-keymap-select
+
+preexec() {
+ timer=$SECONDS
+}
+
+precmd() {
+ printf "\a\033]2;\033\\"
+}