Browse Source

Add vi-mode plugin for vi-like editing

Tomas Kramar 13 years ago
parent
commit
6c3b9daaf7
1 changed files with 22 additions and 0 deletions
  1. 22 0
      plugins/vi-mode.plugin.zsh

+ 22 - 0
plugins/vi-mode.plugin.zsh

@@ -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