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 "