Home Explore Blog CI



neovim

1st chunk of `runtime/doc/cmdline.txt`
3709500b6ca1a6d65388c05a22c9adf3544cf3cb901038d40000000100000fa2
*cmdline.txt*   Nvim


		  VIM REFERENCE MANUAL    by Bram Moolenaar


				*Cmdline-mode* *Command-line-mode* *Cmdline*
Command-line mode		*cmdline* *Command-line* *mode-cmdline* *:*

Command-line mode is used to enter Ex commands (":"), search patterns
("/" and "?"), and filter commands ("!").

Basic command line editing is explained in chapter 20 of the user manual
|usr_20.txt|.

                                      Type |gO| to see the table of contents.

==============================================================================
1. Command-line editing					*cmdline-editing*

Normally characters are inserted in front of the cursor position.  You can
move around in the command-line with the left and right cursor keys.  With the
<Insert> key, you can toggle between inserting and overstriking characters.

Note that if your keyboard does not have working cursor keys or any of the
other special keys, you can use ":cnoremap" to define another key for them.
For example, to define tcsh style editing keys:		*tcsh-style*  >
	:cnoremap <C-A> <Home>
	:cnoremap <C-F> <Right>
	:cnoremap <C-B> <Left>
	:cnoremap <Esc>b <S-Left>
	:cnoremap <Esc>f <S-Right>
(<> notation |<>|; type all this literally)

							*cmdline-too-long*
When the command line is getting longer than what fits on the screen, only the
part that fits will be shown.  The cursor can only move in this visible part,
thus you cannot edit beyond that.

						*cmdline-history* *history*
The command-lines that you enter are remembered in a history table.  You can
recall them with the up and down cursor keys.  There are actually five
history tables:

- one for ':' commands
- one for search strings
- one for expressions
- one for input lines, typed for the |input()| function.
- one for debug mode commands

These are completely separate.  Each history can only be accessed when
entering the same type of line.
Use the 'history' option to set the number of lines that are remembered.

Notes:

- When you enter a command-line that is exactly the same as an older one, the
  old one is removed (to avoid repeated commands moving older commands out of
  the history).
- Only commands that are typed are remembered.  Ones that completely come from
  mappings are not put in the history.
- All searches are put in the search history, including the ones that come
  from commands like "*" and "#".  But for a mapping, only the last search is
  remembered (to avoid that long mappings trash the history).

There is an automatic completion of names on the command-line; see
|cmdline-completion|.

							*c_CTRL-V*
CTRL-V		Insert next non-digit literally.  Up to three digits form the
		decimal value of a single byte.  The non-digit and the three
		digits are not considered for mapping.  This works the same
		way as in Insert mode (see above, |i_CTRL-V|).
		For special keys, the CTRL modifier may be included into the
		key to produce a control character.  If there is no control
		character for the key then its |key-notation| is inserted.
		Note: Under Windows CTRL-V is often mapped to paste text.
		Use CTRL-Q instead then.
							*c_CTRL-Q*
CTRL-Q		Same as CTRL-V.  But with some terminals it is used for
		control flow, it doesn't work then.

CTRL-SHIFT-V				*c_CTRL-SHIFT-V* *c_CTRL-SHIFT-Q*
CTRL-SHIFT-Q	Works just like CTRL-V, but do not try to include the CTRL
		modifier into the key.
		Note: When CTRL-SHIFT-V is intercepted by your system (e.g.,
		to paste text) you can often use CTRL-SHIFT-Q instead.
		However, in some terminals (e.g. GNOME Terminal), CTRL-SHIFT-Q
		quits the terminal without confirmation.

							*c_<Left>* *c_Left*
<Left>		cursor left.  See 'wildmenu' for behavior during wildmenu
		completion mode.
							*c_<Right>* *c_Right*
<Right>		cursor right.  See 'wildmenu' for behavior during wildmenu
		completion mode.
							*c_<S-Left>*
<S-Left> or <C-Left>					*c_<C-Left>*
		cursor one WORD left
							*c_<S-Right>*
<S-Right> or <C-Right>					*c_<C-Right>*
		cursor one WORD right
CTRL-B or

Title: Command-line Editing in Vim
Summary
This section of the Vim reference manual describes command-line mode, used for entering Ex commands, search patterns, and filter commands. It details how to edit the command line, including moving the cursor, inserting/overstriking characters, using tcsh-style key mappings, and managing the command-line history. It also covers using CTRL-V and CTRL-Q to insert characters literally, cursor movement keys, and special key combinations for word-wise cursor movement.