Skip to content

Instantly share code, notes, and snippets.

@Karneades
Created September 5, 2019 17:47
Show Gist options
  • Save Karneades/2357adfb4a35ab507a290fb406990a06 to your computer and use it in GitHub Desktop.
Save Karneades/2357adfb4a35ab507a290fb406990a06 to your computer and use it in GitHub Desktop.
zsh color prompt based on vi mode
# enable colors
autoload -U colors && colors
# vi mode
bindkey -v
# default color (white)
prompt_color="\$reset_color"
# set color based on current mode
# insert mode: white
# normal mode: blue
function zle-line-init zle-keymap-select {
prompt_color="${${KEYMAP/vicmd/\$fg[blue]}/(main|viins)/\$reset_color}"
PS1="%{$prompt_color%}%n%\@%m% %~ %%%{$reset_color%} "
zle reset-prompt
}
zle -N zle-line-init
zle -N zle-keymap-select
export KEYTIMEOUT=2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment