]> git.rmz.io Git - dotfiles.git/blobdiff - zsh/plugins/vi-mode/vi-mode.plugin.zsh
merge oh-my-zsh into subdir
[dotfiles.git] / zsh / plugins / vi-mode / vi-mode.plugin.zsh
diff --git a/zsh/plugins/vi-mode/vi-mode.plugin.zsh b/zsh/plugins/vi-mode/vi-mode.plugin.zsh
new file mode 100644 (file)
index 0000000..c47ab72
--- /dev/null
@@ -0,0 +1,22 @@
+function zle-line-init zle-keymap-select {
+  zle reset-prompt
+}
+
+zle -N zle-line-init
+zle -N zle-keymap-select
+
+bindkey -v
+
+# if mode indicator wasn't setup by theme, define default
+if [[ "$MODE_INDICATOR" == "" ]]; then
+  MODE_INDICATOR="%{$fg_bold[red]%}<%{$fg[red]%}<<%{$reset_color%}"
+fi
+
+function vi_mode_prompt_info() {
+  echo "${${KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}"
+}
+
+# define right prompt, if it wasn't defined by a theme
+if [[ "$RPS1" == "" && "$RPROMPT" == "" ]]; then
+  RPS1='$(vi_mode_prompt_info)'
+fi