Quick links: help overview · quick reference · user manual toc · reference manual toc · faq
Go to keyword (shortcut: k)
Site search (shortcut: s)
usr_20.txt  	For Vim version 9.1.  Last change: 2025 Nov 09


		     VIM USER MANUAL	by Bram Moolenaar


		     Typing command-line commands quickly


Vim has a few generic features that makes it easier to enter commands.  Colon
commands can be abbreviated, edited and repeated.  Completion is available for
nearly everything.

20.1  	Command line editing
20.2  	Command line abbreviations
20.3  	Command line completion
20.4  	Command line history
20.5  	Command line window

     Next chapter: usr_21.txt  Go away and come back
 Previous chapter: usr_12.txt  Clever tricks
Table of contents: usr_toc.txt

==============================================================================
20.1  	Command line editing

When you use a colon (:) command or search for a string with / or ?, Vim puts
the cursor on the bottom of the screen.  There you type the command or search
pattern.  This is called the Command line.  Also when it's used for entering a
search command.

The most obvious way to edit the command you type is by pressing the <BS> key.
This erases the character before the cursor.  To erase another character,
typed earlier, first move the cursor with the cursor keys.
   For example, you have typed this: 

	:s/col/pig/

Before you hit <Enter>, you notice that "col" should be "cow".  To correct
this, you type <Left> five times.  The cursor is now just after "col".  Type
<BS> and "w" to correct: 

	:s/cow/pig/

Now you can press <Enter> directly.  You don't have to move the cursor to the
end of the line before executing the command.

The most often used keys to move around in the command line:

	<Left>			one character left
	<Right>			one character right
	<S-Left> or <C-Left>	one word left
	<S-Right> or <C-Right>	one word right
	CTRL-B or <Home>	to begin of command line
	CTRL-E or <End>		to end of command line

	Note:
	<S-Left> (cursor left key with Shift key pressed) and <C-Left> (cursor
	left key with Control pressed) will not work on all keyboards.  Same
	for the other Shift and Control combinations.

You can also use the mouse to move the cursor.


DELETING

As mentioned, <BS> deletes the character before the cursor.  To delete a whole
word use CTRL-W.

	/the fine pig 

		     CTRL-W

	/the fine 

CTRL-U removes all text, thus allows you to start all over again.


OVERSTRIKE

The <Insert> key toggles between inserting characters and replacing the
existing ones.  Start with this text:

	/the fine pig 

Move the cursor to the start of "fine" with <S-Left> twice (or <Left> eight
times, if <S-Left> doesn't work).  Now press <Insert> to switch to overstrike
and type "great":

	/the greatpig 

Oops, we lost the space.  Now, don't use <BS>, because it would delete the
"t" (this is different from Replace mode).  Instead, press <Insert> to switch
from overstrike to inserting, and type the space:

	/the great pig 


CANCELLING

You thought of executing a : or / command, but changed your mind.  To get rid
of what you already typed, without executing it, press CTRL-C or <Esc>.

	Note:
	<Esc> is the universal "get out" key.  Unfortunately, in the good old
	Vi pressing <Esc> in a command line executed the command!  Since that
	might be considered to be a bug, Vim uses <Esc> to cancel the command.
	But with the 'cpoptions' option it can be made Vi compatible.  And
	when using a mapping (which might be written for Vi) <Esc> also works
	Vi compatible.  Therefore, using CTRL-C is a method that always works.

If you are at the start of the command line, pressing <BS> will cancel the
command.  It's like deleting the ":" or "/" that the line starts with.

==============================================================================
20.2  	Command line abbreviations

Some of the ":" commands are really long.  We already mentioned that
":substitute" can be abbreviated to "