bindkey -v
# Also use jj to exit insert mode.
-bindkey -M viins 'jj' vi-cmd-mode
+bindkey 'jj' vi-cmd-mode
# I don't need the arrow keys, I use ^N and ^P for this (see below).
-bindkey -M viins -r '^[OA' '^[OB' '^[OC' '^[OD' '^[[A' '^[[B' '^[[C' '^[[D'
+bindkey -r '^[OA' '^[OB' '^[OC' '^[OD' '^[[A' '^[[B' '^[[C' '^[[D'
# Also not in Vi mode.
-bindkey -M vicmd -r '^[OA' '^[OB' '^[OC' '^[OD' '^[[A' '^[[B' '^[[C' '^[[D'
+bindkey -a -r '^[OA' '^[OB' '^[OC' '^[OD' '^[[A' '^[[B' '^[[C' '^[[D'
# FUNCTION SETTINGS
fi
# Prepend prefixes like in window_preexec().
+ if [[ -n $window_root ]]; then
+ name="!$name"
+ fi
if [[ -n $SSH_CONNECTION ]]; then
- window_title "@$name"
- elif [[ -n $window_root ]]; then
- window_title "!$name"
- else
- window_title $name
+ name="@$name"
fi
+ window_title $name
# Just reset the name, so no screen reset necessary for the moment.
window_reset=
window_title() {
print -n "\e]2;$1\e\\"
}
+ else
+ # Fallback if another TERM is used.
+ window_title() { }
fi
# Add the preexec() and precmd() hooks.
# typing the command.
#
# Thanks to Vadim Zeitlin <vz-zsh@zeitlins.org> for a fix (--) so lines
-# starting with - don't cause errors.
+# starting with - don't cause errors; and to Nadav Har'El
+# <nyh@math.technion.ac.il> for a fix (-r) to handle whitespace/quotes
+# correctly, both on the Zsh mailing list.
TRAPINT() {
# Store the current buffer in the history.
- zle && print -s -- $BUFFER
+ zle && print -s -r -- $BUFFER
# Return the default exit code so Zsh aborts the current command.
return $1