zsh: Modifying Text

Next: Arguments, Previous: History Control, Up: Zle Widgets [Contents][Index]

#### 18.6.3 Modifying Text

`vi-add-eol` (unbound) (`A`) (unbound)

  Move to the end of the line and enter insert mode.

`vi-add-next` (unbound) (`a`) (unbound)

  Enter insert mode after the current cursor position, without changing lines.

`backward-delete-char` (`^H ^?`) (unbound) (unbound)

  Delete the character behind the cursor.

`vi-backward-delete-char` (unbound) (`X`) (`^H`)

  Delete the character behind the cursor, without changing lines. If in insert mode, this won’t delete past the point where insert mode was last entered.

`backward-delete-word`

  Delete the word behind the cursor.

`backward-kill-line`

  Kill from the beginning of the line to the cursor position.

`backward-kill-word` (`^W ESC-^H ESC-^?`) (unbound) (unbound)

  Kill the word behind the cursor.

`vi-backward-kill-word` (unbound) (unbound) (`^W`)

  Kill the word behind the cursor, without going past the point where insert mode was last entered.

`capitalize-word` (`ESC-C ESC-c`) (unbound) (unbound)

  Capitalize the current word and move past it.

`vi-change` (unbound) (`c`) (unbound)

  Read a movement command from the keyboard, and kill from the cursor position to the endpoint of the movement. Then enter insert mode. If the command is `vi-change`, change the current line.

  For compatibility with vi, if the command is `vi-forward-word` or `vi-forward-blank-word`, the whitespace after the word is not included. If you prefer the more consistent behaviour with the whitespace included use the following key binding:

      bindkey -a -s cw dwi

`vi-change-eol` (unbound) (`C`) (unbound)

  Kill to the end of the line and enter insert mode.

`vi-change-whole-line` (unbound) (`S`) (unbound)

  Kill the current line and enter insert mode.

`copy-region-as-kill` (`ESC-W ESC-w`) (unbound) (unbound)

  Copy the area from the cursor to the mark to the kill buffer.

  If called from a ZLE widget function in the form ‘`zle copy-region-as-kill` string’ then string will be taken as the text to copy to the kill buffer. The cursor, the mark and the text on the command line are not used in this case.

`copy-prev-word` (`ESC-^_`) (unbound) (unbound)

  Duplicate the word to the left of the cursor.

`copy-prev-shell-word`

  Like `copy-prev-word`, but the word is found by using shell parsing, whereas `copy-prev-word` looks for blanks. This makes a difference when the word is quoted and contains spaces.

`vi-delete` (unbound) (`d`) (unbound)

  Read a movement command from the keyboard, and kill from the cursor position to the endpoint of the movement. If the command is `vi-delete`, kill the current line.

`delete-char`

  Delete the character under the cursor.

`vi-delete-char` (unbound) (`x`) (unbound)

  Delete the character under the cursor, without going past the end of the line.

`delete-word`

  Delete the current word.

`down-case-word` (`ESC-L ESC-l`) (unbound) (unbound)

  Convert the current word to all lowercase and move past it.

`kill-word` (`ESC-D ESC-d`) (unbound) (unbound)

  Kill the current word.

`gosmacs-transpose-chars`

  Exchange the two characters behind the cursor.

`vi-indent` (unbound) (`>`) (unbound)

  Indent a number of lines.

`vi-insert` (unbound) (`i`) (unbound)

  Enter insert mode.

`vi-insert-bol` (unbound) (`I`) (unbound)

  Move to the first non-blank character on the line and enter insert mode.

`vi-join` (`^X^J`) (`J`) (unbound)

  Join the current line with the next one.

`kill-line` (`^K`) (unbound) (unbound)

  Kill from the cursor to the end of the line. If already on the end of the line, kill the newline character.

`vi-kill-line` (unbound) (unbound) (`^U`)

  Kill from the cursor back to wherever insert mode was last entered.

`vi-kill-eol` (unbound) (`D`) (unbound)

  Kill from the cursor to the end of the line.

`kill-region`

  Kill from the cursor to the mark.

`kill-buffer` (`^X^K`) (unbound) (unbound)

  Kill the entire buffer.

`kill-whole-line` (`^U`) (unbound) (unbound)

  Kill the current line.

`vi-match-bracket` (`^X^B`) (`%`) (unbound)

  Move to the bracket character (one of `{}`, `()` or `[]`) that matches the one under the cursor. If the cursor is not on a bracket character, move forward without going past the end of the line to find one, and then go to the matching bracket.

`vi-open-line-above` (unbound) (`O`) (unbound)

  Open a line above the cursor and enter insert mode.

`vi-open-line-below` (unbound) (`o`) (unbound)

  Open a line below the cursor and enter insert mode.

`vi-oper-swap-case` (unbound) (`g~`) (unbound)

  Read a movement command from the keyboard, and swap the case of all characters from the cursor position to the endpoint of the movement. If the movement command is `vi-oper-swap-case`, swap the case of all characters on the current line.

`overwrite-mode` (`^X^O`) (unbound) (unbound)

  Toggle between overwrite mode and insert mode.

`vi-put-before` (unbound) (`P`) (unbound)

  Insert the contents of the kill buffer before the cursor. If the kill buffer contains a sequence of lines (as opposed to characters), paste it above the current line.

`vi-put-after` (unbound) (`p`) (unbound)

  Insert the contents of the kill buffer after the cursor. If the kill buffer contains a sequence of lines (as opposed to characters), paste it below the current line.

`put-replace-selection` (unbound) (unbound) (unbound)

  Replace the contents of the current region or selection with the contents of the kill buffer. If the kill buffer contains a sequence of lines (as opposed to characters), the current line will be split by the pasted lines.

`quoted-insert` (`^V`) (unbound) (unbound)

  Insert the next character typed into the buffer literally. An interrupt character will not be inserted.

`vi-quoted-insert` (unbound) (unbound) (`^Q ^V`)

  Display a ‘`^`’ at the cursor position, and insert the next character typed into the buffer literally. An interrupt character will not be inserted.

`quote-line` (`ESC-'`) (unbound) (unbound)

  Quote the current line; that is, put a ‘`'`’ character at the beginning and the end, and convert all ‘`'`’ characters to ‘`'\{No value for `dsq'}`’.

`quote-region` (`ESC-"`) (unbound) (unbound)

  Quote the region from the cursor to the mark.

`vi-replace` (unbound) (`R`) (unbound)

  Enter overwrite mode.

`vi-repeat-change` (unbound) (`.`) (unbound)

  Repeat the last vi mode text modification. If a count was used with the modification, it is remembered. If a count is given to this command, it overrides the remembered count, and is remembered for future uses of this command. The cut buffer specification is similarly remembered.

`vi-replace-chars` (unbound) (`r`) (unbound)

  Replace the character under the cursor with a character read from the keyboard.

`self-insert` (printable characters) (unbound) (printable characters and some control characters)

  Insert a character into the buffer at the cursor position.

`self-insert-unmeta` (`ESC-^I ESC-^J ESC-^M`) (unbound) (unbound)

  Insert a character into the buffer after stripping the meta bit and converting ^M to ^J.

`vi-substitute` (unbound) (`s`) (unbound)

  Substitute the next character(s).

`vi-swap-case` (unbound) (`~`) (unbound)

  Swap the case of the character under the cursor and move past it.

`transpose-chars` (`^T`) (unbound) (unbound)

  Exchange the two characters to the left of the cursor if at end of line, else exchange the character under the cursor with the character to the left.

`transpose-words` (`ESC-T ESC-t`) (unbound) (unbound)

  Exchange the current word with the one before it.

`vi-unindent` (unbound) (`<`) (unbound)

  Unindent a number of lines.

`up-case-word` (`ESC-U ESC-u`) (unbound) (unbound)

  Convert the current word to all caps and move past it.

`yank` (`^Y`) (unbound) (unbound)

  Insert the contents of the kill buffer at the cursor position.

`yank-pop` (`ESC-y`) (unbound) (unbound)

  Remove the text just yanked, rotate the kill-ring (the history of previously killed text) and yank the new top. Only works following `yank`, `vi-put-before`, `vi-put-after` or `yank-pop`.

`vi-yank` (unbound) (`y`) (unbound)

  Read a movement command from the keyboard, and copy the region from the cursor position to the endpoint of the movement into the kill buffer. If the command is `vi-yank`, copy the current line.

`vi-yank-whole-line` (unbound) (`Y`) (unbound)

  Copy the current line into the kill buffer.

`vi-yank-eol`

  Copy the region from the cursor position to the end of the line into the kill buffer. Arguably, this is what Y should do in vi, but it isn’t what it actually does.

Next: Arguments, Previous: History Control, Up: Zle Widgets [Contents][Index]