mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2024-12-18 10:22:00 +00:00
feat(vi-mode): add INSERT_MODE_INDICATOR
(#9732)
Co-authored-by: bretello <bretello@distruzione.org>
This commit is contained in:
parent
3bb23e8e31
commit
65bbd24eec
2 changed files with 12 additions and 7 deletions
|
@ -32,16 +32,21 @@ plugins=(... vi-mode)
|
||||||
- `MODE_INDICATOR`: controls the string displayed when the shell is in normal mode.
|
- `MODE_INDICATOR`: controls the string displayed when the shell is in normal mode.
|
||||||
See [Mode indicator](#mode-indicator) for details.
|
See [Mode indicator](#mode-indicator) for details.
|
||||||
|
|
||||||
## Mode indicator
|
- `INSERT_MODE_INDICATOR`: controls the string displayed when the shell is in insert mode.
|
||||||
|
See [Mode indicator](#mode-indicator) for details.
|
||||||
|
|
||||||
|
## Mode indicators
|
||||||
|
|
||||||
*Normal mode* is indicated with a red `<<<` mark at the right prompt, when it
|
*Normal mode* is indicated with a red `<<<` mark at the right prompt, when it
|
||||||
hasn't been defined by theme.
|
hasn't been defined by theme, *Insert mode* is not displayed by default.
|
||||||
|
|
||||||
You can change this indicator by setting the `MODE_INDICATOR` variable. This setting
|
You can change these indicators by setting the `MODE_INDICATOR` (*Normal mode*) and
|
||||||
supports Prompt Expansion sequences. For example:
|
`INSERT_MODE_INDICATORS` (*Insert mode*) variables.
|
||||||
|
This settings support Prompt Expansion sequences. For example:
|
||||||
|
|
||||||
```zsh
|
```zsh
|
||||||
MODE_INDICATOR="%F{yellow}+%f"
|
MODE_INDICATOR="%F{white}+%f"
|
||||||
|
INSERT_MODE_INDICATOR="%F{yellow}+%f"
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also use the `vi_mode_prompt_info` function in your prompt, which will display
|
You can also use the `vi_mode_prompt_info` function in your prompt, which will display
|
||||||
|
|
|
@ -123,7 +123,7 @@ wrap_clipboard_widgets copy vi-yank vi-yank-eol vi-backward-kill-word vi-change-
|
||||||
wrap_clipboard_widgets paste vi-put-{before,after}
|
wrap_clipboard_widgets paste vi-put-{before,after}
|
||||||
unfunction wrap_clipboard_widgets
|
unfunction wrap_clipboard_widgets
|
||||||
|
|
||||||
# if mode indicator wasn't setup by theme, define default
|
# if mode indicator wasn't setup by theme, define default, we'll leave INSERT_MODE_INDICATOR empty by default
|
||||||
if [[ -z "$MODE_INDICATOR" ]]; then
|
if [[ -z "$MODE_INDICATOR" ]]; then
|
||||||
MODE_INDICATOR='%B%F{red}<%b<<%f'
|
MODE_INDICATOR='%B%F{red}<%b<<%f'
|
||||||
fi
|
fi
|
||||||
|
@ -136,7 +136,7 @@ function vi_mode_prompt_info() {
|
||||||
# set RPS1/RPROMPT to something else in their custom config.
|
# set RPS1/RPROMPT to something else in their custom config.
|
||||||
: "${VI_MODE_RESET_PROMPT_ON_MODE_CHANGE:=true}"
|
: "${VI_MODE_RESET_PROMPT_ON_MODE_CHANGE:=true}"
|
||||||
|
|
||||||
echo "${${VI_KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/}"
|
echo "${${VI_KEYMAP/vicmd/$MODE_INDICATOR}/(main|viins)/$INSERT_MODE_INDICATOR}"
|
||||||
}
|
}
|
||||||
|
|
||||||
# define right prompt, if it wasn't defined by a theme
|
# define right prompt, if it wasn't defined by a theme
|
||||||
|
|
Loading…
Reference in a new issue