Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
94ce46d4
Commit
94ce46d4
authored
Jan 04, 2021
by
Marc Cornellà
Browse files
docs(vi-mode): revamp README and document settings
parent
66e0438d
Changes
1
Show whitespace changes
Inline
Side-by-side
plugins/vi-mode/README.md
View file @
94ce46d4
vi-mode
=======
#
vi-mode
plugin
This plugin increase
`vi-like`
zsh functionality.
Use
`ESC`
or
`CTRL-[`
to enter
`Normal mode`
.
To use it, add
`vi-mode`
to the plugins array in your zshrc file:
```
zsh
plugins
=(
... vi-mode
)
```
History
-------
## Settings
-
`
ctrl-p`
: Previous command in history
-
`ctrl-n`
: Next command in history
-
`/`
: Search backward in history
-
`n`
: Repeat the last
`/`
-
`
VI_MODE_RESET_PROMPT_ON_MODE_CHANGE`
: controls whether the prompt is redrawn when
switching to a different input mode. If this is unset, the mode indicator will not
be updated when changing to a different mode.
Set it to
`true`
to enable it. For example:
```
zsh
VI_MODE_RESET_PROMPT_ON_MODE_CHANGE
=
true
```
Mode indicators
---------------
The default value is unset, unless
`vi_mode_prompt_info`
is used, in which case it'll
automatically be set to
`true`
.
*Normal mode*
is indicated with red
`<<<`
mark at the right prompt, when it
wasn't
de
f
in
ed by theme
.
-
`MODE_INDICATOR`
: controls the string displayed when the shell is in normal mode.
See
[
Mo
de
in
dicator
](
#mode-indicator
)
for details
.
## Mode indicator
Vim edition
-----------
*Normal mode*
is indicated with a red
`<<<`
mark at the right prompt, when it
hasn't been defined by theme.
-
`v`
: Edit current command line in Vim
You can change this indicator by setting the
`MODE_INDICATOR`
variable. This setting
supports Prompt Expansion sequences. For example:
```
zsh
MODE_INDICATOR
=
"%F{yellow}+%f"
```
You can also use the
`vi_mode_prompt_info`
function in your prompt, which will display
this mode indicator.
## Key bindings
Use
`ESC`
or
`CTRL-[`
to enter
`Normal mode`
.
NOTE: some of these key bindings are set by zsh by default when using a vi-mode keymap.
Movement
--------
### History
-
`ctrl-p`
: Previous command in history
-
`ctrl-n`
: Next command in history
-
`/`
: Search backward in history
-
`n`
: Repeat the last
`/`
### Movement
-
`$`
: To the end of the line
-
`^`
: To the first non-blank character of the line
...
...
@@ -46,9 +71,7 @@ Movement
-
`;`
: Repeat latest f, t, F or T [count] times
-
`,`
: Repeat latest f, t, F or T in opposite direction
Insertion
---------
### Insertion
-
`i`
: Insert text before the cursor
-
`I`
: Insert text before the first character in the line
...
...
@@ -57,9 +80,7 @@ Insertion
-
`o`
: Insert new command line below the current one
-
`O`
: Insert new command line above the current one
Delete and Insert
-----------------
### Delete and Insert
-
`ctrl-h`
: While in
*Insert mode*
: delete character before the cursor
-
`ctrl-w`
: While in
*Insert mode*
: delete word before the cursor
...
...
@@ -73,3 +94,7 @@ Delete and Insert
-
`R`
: Enter replace mode: Each character replaces existing one
-
`x`
: Delete [count] characters under and after the cursor
-
`X`
: Delete [count] characters before the cursor
### Removed key bindings
-
`v`
: Edit current command line in Vim
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment