mirror of
https://github.com/frebib/dotfiles.git
synced 2024-06-14 12:57:23 +00:00
zsh: Print normal
in RPROMPT in Vim mode
Change the cursor to an `_` too, to make it abundantly clear that the mode has changed. Hopefully this stops me screwing up and accidentally entering vim mode without realising. Signed-off-by: Joe Groocock <me@frebib.net>
This commit is contained in:
parent
7be83b7b70
commit
895d0ff0aa
@ -4,6 +4,16 @@ _fishy_collapsed_wd() {
|
||||
pwd | sed -E 's|^'$HOME'|~|;s|(.*)/|\1%|;s|((^\|/)\.?[^/%]{1})[^/%]*|\1|g;s|(.*)%|\1/|'
|
||||
}
|
||||
|
||||
function zle-line-init zle-keymap-select {
|
||||
case $KEYMAP in
|
||||
vicmd) printf '\e[3 q';; # block cursor
|
||||
*) printf '\e[2 q';; # less visible cursor
|
||||
esac
|
||||
zle reset-prompt
|
||||
}
|
||||
zle -N zle-line-init
|
||||
zle -N zle-keymap-select
|
||||
|
||||
# Required for dynamic prompt
|
||||
setopt prompt_subst
|
||||
|
||||
@ -11,4 +21,8 @@ local user_color='green'; [ $UID -eq 0 ] && user_color='red'
|
||||
PROMPT="%n@%m %F{$user_color}\$(_fishy_collapsed_wd)%f%(!.#.>) "
|
||||
PROMPT2='%F{red}\ %f'
|
||||
|
||||
RPROMPT='%F{red}%(?.. %?)%f'
|
||||
RPROMPT='%F{cyan}${${KEYMAP/vicmd/ normal}/(main|viins)/}%f%(?.. %F{red}%?%f)'
|
||||
|
||||
# Disable trailing space
|
||||
# https://superuser.com/questions/655607/removing-the-useless-space-at-the-end-of-the-right-prompt-of-zsh-rprompt
|
||||
ZLE_RPROMPT_INDENT=0
|
||||
|
Loading…
Reference in New Issue
Block a user