From f5b734105beade6da3622a9baeb267d2ea72db78 Mon Sep 17 00:00:00 2001 From: Ilja Kocken Date: Thu, 3 Nov 2016 11:30:27 +0100 Subject: [PATCH] add vi-mode cursor mode indicator Bar for insert mode, block for normal mode. what do you think? :) --- plugins/vi-mode/vi-mode.plugin.zsh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/plugins/vi-mode/vi-mode.plugin.zsh b/plugins/vi-mode/vi-mode.plugin.zsh index 82a2f3040..d7b4d14b5 100644 --- a/plugins/vi-mode/vi-mode.plugin.zsh +++ b/plugins/vi-mode/vi-mode.plugin.zsh @@ -48,3 +48,17 @@ function vi_mode_prompt_info() { if [[ "$RPS1" == "" && "$RPROMPT" == "" ]]; then RPS1='$(vi_mode_prompt_info)' fi + +# vi-mode cursor indicator +echo -ne "\e[6 q" # vertical bar +zle-keymap-select () { + if [ "$TERM" = "rxvt-unicode-256color" ]; then + if [ $KEYMAP = vicmd ]; then + # the command mode for vi + echo -ne "\e[2 q" # block + else + # the insert mode for vi + echo -ne "\e[6 q" # bar + fi + fi +}