X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=6fcc820c9e5e2fda8064c0b3e39768939ce3ec00;hb=817179a8ad182e22b0aecf883926982743e0f26b;hp=a7d81ca6d1bc58dcfa04c818dae2df68981a5159;hpb=6626db2476bcf9080b213dea22d7ae5d088d3a2c;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index a7d81ca..6fcc820 100644 --- a/zsh/rc +++ b/zsh/rc @@ -38,26 +38,12 @@ setopt ignoreeof 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' -bindkey -M viins -r '^[OB' -bindkey -M viins -r '^[OC' -bindkey -M viins -r '^[OD' -bindkey -M viins -r '^[[A' -bindkey -M viins -r '^[[B' -bindkey -M viins -r '^[[C' -bindkey -M viins -r '^[[D' +bindkey -r '^[OA' '^[OB' '^[OC' '^[OD' '^[[A' '^[[B' '^[[C' '^[[D' # Also not in Vi mode. -bindkey -M vicmd -r '^[OA' -bindkey -M vicmd -r '^[OB' -bindkey -M vicmd -r '^[OC' -bindkey -M vicmd -r '^[OD' -bindkey -M vicmd -r '^[[A' -bindkey -M vicmd -r '^[[B' -bindkey -M vicmd -r '^[[C' -bindkey -M vicmd -r '^[[D' +bindkey -a -r '^[OA' '^[OB' '^[OC' '^[OD' '^[[A' '^[[B' '^[[C' '^[[D' # FUNCTION SETTINGS @@ -340,13 +326,13 @@ if [[ $TERM == screen* || $TERM == xterm* || $TERM == rxvt* ]]; then 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= @@ -361,6 +347,9 @@ if [[ $TERM == screen* || $TERM == xterm* || $TERM == rxvt* ]]; then window_title() { print -n "\e]2;$1\e\\" } + else + # Fallback if another TERM is used. + window_title() { } fi # Add the preexec() and precmd() hooks. @@ -428,10 +417,12 @@ zstyle ':completion:*:(hg|git)*:*' ignore-line yes # typing the command. # # Thanks to Vadim Zeitlin for a fix (--) so lines -# starting with - don't cause errors. +# starting with - don't cause errors; and to Nadav Har'El +# 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