Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
Warning: Cannot modify header information - headers already sent by (output started at /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code:102) in /var/www/iplanru/data/www/intesco.ru/d59ed/index.php(1) : eval()'d code(2) : eval()'d code on line 4
*index.txt* For Vim version 7.2. Last change: 2009 Jul 01
VIM REFERENCE MANUAL by Bram Moolenaar
*index*
This file contains a list of all commands for each mode, with a tag and a
short description. The lists are sorted on ASCII value.
Tip: When looking for certain functionality, use a search command. E.g.,
to look for deleting something, use: "/delete".
1. Insert mode |insert-index|
2. Normal mode |normal-index|
2.1. Text objects |objects|
2.2. Window commands |CTRL-W|
2.3. Square bracket commands |[|
2.4. Commands starting with 'g' |g|
2.5. Commands starting with 'z' |z|
3. Visual mode |visual-index|
4. Command-line editing |ex-edit-index|
5. EX commands |ex-cmd-index|
For an overview of options see help.txt |option-list|.
For an overview of built-in functions see |functions|.
For a list of Vim variables see |vim-variable|.
For a complete listing of all help items see |help-tags|.
==============================================================================
1. Insert mode *insert-index*
tag char action ~
-----------------------------------------------------------------------
|i_CTRL-@| CTRL-@ insert previously inserted text and stop
insert
|i_CTRL-A| CTRL-A insert previously inserted text
CTRL-B not used |i_CTRL-B-gone|
|i_CTRL-C| CTRL-C quit insert mode, without checking for
abbreviation, unless 'insertmode' set.
|i_CTRL-D| CTRL-D delete one shiftwidth of indent in the current
line
|i_CTRL-E| CTRL-E insert the character which is below the cursor
CTRL-F not used (but by default it's in 'cinkeys' to
re-indent the current line)
|i_CTRL-G_j| CTRL-G CTRL-J line down, to column where inserting started
|i_CTRL-G_j| CTRL-G j line down, to column where inserting started
|i_CTRL-G_j| CTRL-G line down, to column where inserting started
|i_CTRL-G_k| CTRL-G CTRL-K line up, to column where inserting started
|i_CTRL-G_k| CTRL-G k line up, to column where inserting started
|i_CTRL-G_k| CTRL-G line up, to column where inserting started
|i_CTRL-G_u| CTRL-G u start new undoable edit
|i_| delete character before the cursor
|i_digraph| {char1}{char2}
enter digraph (only when 'digraph' option set)
|i_CTRL-H| CTRL-H same as
|i_| insert a character
|i_CTRL-I| CTRL-I same as
|i_| same as
|i_CTRL-J| CTRL-J same as
|i_CTRL-K| CTRL-K {char1} {char2}
enter digraph
|i_CTRL-L| CTRL-L when 'insertmode' set: Leave Insert mode
|i_| begin new line
|i_CTRL-M| CTRL-M same as
|i_CTRL-N| CTRL-N find next match for keyword in front of the
cursor
|i_CTRL-O| CTRL-O execute a single command and return to insert
mode
|i_CTRL-P| CTRL-P find previous match for keyword in front of
the cursor
|i_CTRL-Q| CTRL-Q same as CTRL-V, unless used for terminal
control flow
|i_CTRL-R| CTRL-R {0-9a-z"%#*:=}
insert the contents of a register
|i_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:=}
insert the contents of a register literally
|i_CTRL-R_CTRL-O| CTRL-R CTRL-O {0-9a-z"%#*:=}
insert the contents of a register literally
and don't auto-indent
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {0-9a-z"%#*:=}
insert the contents of a register literally
and fix indent.
CTRL-S (used for terminal control flow)
|i_CTRL-T| CTRL-T insert one shiftwidth of indent in current
line
|i_CTRL-U| CTRL-U delete all entered characters in the current
line
|i_CTRL-V| CTRL-V {char} insert next non-digit literally
|i_CTRL-V_digit| CTRL-V {number} insert three digit decimal number as a single
byte.
|i_CTRL-W| CTRL-W delete word before the cursor
|i_CTRL-X| CTRL-X {mode} enter CTRL-X sub mode, see |i_CTRL-X_index|
|i_CTRL-Y| CTRL-Y insert the character which is above the cursor
|i_CTRL-Z| CTRL-Z when 'insertmode' set: suspend Vim
|i_| end insert mode (unless 'insertmode' set)
|i_CTRL-[| CTRL-[ same as
|i_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode
|i_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
CTRL-\ a - z reserved for extensions
CTRL-\ others not used
|i_CTRL-]| CTRL-] trigger abbreviation
|i_CTRL-^| CTRL-^ toggle use of |:lmap| mappings
|i_CTRL-_| CTRL-_ When 'allowrevins' set: change language
(Hebrew, Farsi) {only when compiled with
+rightleft feature}
to '~' not used, except '0' and '^' followed by
CTRL-D
|i_0_CTRL-D| 0 CTRL-D delete all indent in the current line
|i_^_CTRL-D| ^ CTRL-D delete all indent in the current line, restore
it in the next line
|i_| delete character under the cursor
Meta characters (0x80 to 0xff, 128 to 255)
not used
|i_| cursor one character left
|i_| cursor one word left
|i_| cursor one word left
|i_| cursor one character right
|i_| cursor one word right
|i_| cursor one word right
|i_| cursor one line up
|i_| same as
|i_| cursor one line down
|i_| same as
|i_| cursor to start of line
|i_| cursor to start of file
|i_| cursor past end of line
|i_| cursor past end of file
|i_| one screenful backward
|i_| one screenful forward
|i_| same as
|i_| stop insert mode and display help window
|i_| toggle Insert/Replace mode
|i_| cursor at mouse click
|i_| scroll three lines downwards
|i_| scroll a full page downwards
|i_| scroll three lines upwards
|i_| scroll a full page upwards
commands in CTRL-X submode *i_CTRL-X_index*
|i_CTRL-X_CTRL-D| CTRL-X CTRL-D complete defined identifiers
|i_CTRL-X_CTRL-E| CTRL-X CTRL-E scroll up
|i_CTRL-X_CTRL-F| CTRL-X CTRL-F complete file names
|i_CTRL-X_CTRL-I| CTRL-X CTRL-I complete identifiers
|i_CTRL-X_CTRL-K| CTRL-X CTRL-K complete identifiers from dictionary
|i_CTRL-X_CTRL-L| CTRL-X CTRL-L complete whole lines
|i_CTRL-X_CTRL-N| CTRL-X CTRL-N next completion
|i_CTRL-X_CTRL-O| CTRL-X CTRL-O omni completion
|i_CTRL-X_CTRL-P| CTRL-X CTRL-P previous completion
|i_CTRL-X_CTRL-S| CTRL-X CTRL-S spelling suggestions
|i_CTRL-X_CTRL-T| CTRL-X CTRL-T complete identifiers from thesaurus
|i_CTRL-X_CTRL-Y| CTRL-X CTRL-Y scroll down
|i_CTRL-X_CTRL-U| CTRL-X CTRL-U complete with 'completefunc'
|i_CTRL-X_CTRL-V| CTRL-X CTRL-V complete like in : command line
|i_CTRL-X_CTRL-]| CTRL-X CTRL-] complete tags
|i_CTRL-X_s| CTRL-X s spelling suggestions
{not available when compiled without the +insert_expand feature}
==============================================================================
2. Normal mode *normal-index*
CHAR any non-blank character
WORD a sequence of non-blank characters
N a number entered before the command
{motion} a cursor movement command
Nmove the text that is moved over with a {motion}
SECTION a section that possibly starts with '}' instead of '{'
note: 1 = cursor movement command; 2 = can be undone/redone
tag char note action in Normal mode ~
------------------------------------------------------------------------------
CTRL-@ not used
|CTRL-A| CTRL-A 2 add N to number at/after cursor
|CTRL-B| CTRL-B 1 scroll N screens Backwards
|CTRL-C| CTRL-C interrupt current (search) command
|CTRL-D| CTRL-D scroll Down N lines (default: half a screen)
|CTRL-E| CTRL-E scroll N lines upwards (N lines Extra)
|CTRL-F| CTRL-F 1 scroll N screens Forward
|CTRL-G| CTRL-G display current file name and position
|| 1 same as "h"
|CTRL-H| CTRL-H 1 same as "h"
|| 1 go to N newer entry in jump list
|CTRL-I| CTRL-I 1 same as
|| 1 same as "j"
|CTRL-J| CTRL-J 1 same as "j"
CTRL-K not used
|CTRL-L| CTRL-L redraw screen
|| 1 cursor to the first CHAR N lines lower
|CTRL-M| CTRL-M 1 same as
|CTRL-N| CTRL-N 1 same as "j"
|CTRL-O| CTRL-O 1 go to N older entry in jump list
|CTRL-P| CTRL-P 1 same as "k"
CTRL-Q (used for terminal control flow)
|CTRL-R| CTRL-R 2 redo changes which were undone with 'u'
CTRL-S (used for terminal control flow)
|CTRL-T| CTRL-T jump to N older Tag in tag list
|CTRL-U| CTRL-U scroll N lines Upwards (default: half a
screen)
|CTRL-V| CTRL-V start blockwise Visual mode
|CTRL-W| CTRL-W {char} window commands, see |CTRL-W|
|CTRL-X| CTRL-X 2 subtract N from number at/after cursor
|CTRL-Y| CTRL-Y scroll N lines downwards
|CTRL-Z| CTRL-Z suspend program (or start new shell)
CTRL-[ not used
|CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode (no-op)
|CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
CTRL-\ a - z reserved for extensions
CTRL-\ others not used
|CTRL-]| CTRL-] :ta to ident under cursor
|CTRL-^| CTRL-^ edit Nth alternate file (equivalent to
":e #N")
CTRL-_ not used
|| 1 same as "l"
|!| !{motion}{filter}
2 filter Nmove text through the {filter}
command
|!!| !!{filter} 2 filter N lines through the {filter} command
|quote| "{a-zA-Z0-9.%#:-"} use register {a-zA-Z0-9.%#:-"} for next
delete, yank or put (uppercase to append)
({.%#:} only work with put)
|#| # 1 search backward for the Nth occurrence of
the ident under the cursor
|$| $ 1 cursor to the end of Nth next line
|%| % 1 find the next (curly/square) bracket on
this line and go to its match, or go to
matching comment bracket, or go to matching
preprocessor directive.
|N%| {count}% 1 go to N percentage in the file
|&| & 2 repeat last :s
|'| '{a-zA-Z0-9} 1 cursor to the first CHAR on the line with
mark {a-zA-Z0-9}
|''| '' 1 cursor to the first CHAR of the line where
the cursor was before the latest jump.
|'(| '( 1 cursor to the first CHAR on the line of the
start of the current sentence
|')| ') 1 cursor to the first CHAR on the line of the
end of the current sentence
|'<| '< 1 cursor to the first CHAR of the line where
highlighted area starts/started in the
current buffer.
|'>| '> 1 cursor to the first CHAR of the line where
highlighted area ends/ended in the current
buffer.
|'[| '[ 1 cursor to the first CHAR on the line of the
start of last operated text or start of put
text
|']| '] 1 cursor to the first CHAR on the line of the
end of last operated text or end of put
text
|'{| '{ 1 cursor to the first CHAR on the line of the
start of the current paragraph
|'}| '} 1 cursor to the first CHAR on the line of the
end of the current paragraph
|(| ( 1 cursor N sentences backward
|)| ) 1 cursor N sentences forward
|star| * 1 search forward for the Nth occurrence of
the ident under the cursor
|+| + 1 same as
|,| , 1 repeat latest f, t, F or T in opposite
direction N times
|-| - 1 cursor to the first CHAR N lines higher
|.| . 2 repeat last change with count replaced with
N
|/| /{pattern} 1 search forward for the Nth occurrence of
{pattern}
|/| / 1 search forward for {pattern} of last search
|count| 0 1 cursor to the first char of the line
|count| 1 prepend to command to give a count
|count| 2 "
|count| 3 "
|count| 4 "
|count| 5 "
|count| 6 "
|count| 7 "
|count| 8 "
|count| 9 "
|:| : 1 start entering an Ex command
|N:| {count}: start entering an Ex command with range
from current line to N-1 lines down
|;| ; 1 repeat latest f, t, F or T N times
|<| <{motion} 2 shift Nmove lines one 'shiftwidth'
leftwards
|<<| << 2 shift N lines one 'shiftwidth' leftwards
|=| ={motion} 2 filter Nmove lines through "indent"
|==| == 2 filter N lines through "indent"
|>| >{motion} 2 shift Nmove lines one 'shiftwidth'
rightwards
|>>| >> 2 shift N lines one 'shiftwidth' rightwards
|?| ?{pattern} 1 search backward for the Nth previous
occurrence of {pattern}
|?| ? 1 search backward for {pattern} of last search
|@| @{a-z} 2 execute the contents of register {a-z}
N times
|@:| @: repeat the previous ":" command N times
|@@| @@ 2 repeat the previous @{a-z} N times
|A| A 2 append text after the end of the line N times
|B| B 1 cursor N WORDS backward
|C| ["x]C 2 change from the cursor position to the end
of the line, and N-1 more lines [into
buffer x]; synonym for "c$"
|D| ["x]D 2 delete the characters under the cursor
until the end of the line and N-1 more
lines [into buffer x]; synonym for "d$"
|E| E 1 cursor forward to the end of WORD N
|F| F{char} 1 cursor to the Nth occurrence of {char} to
the left
|G| G 1 cursor to line N, default last line
|H| H 1 cursor to line N from top of screen
|I| I 2 insert text before the first CHAR on the
line N times
|J| J 2 Join N lines; default is 2
|K| K lookup Keyword under the cursor with
'keywordprg'
|L| L 1 cursor to line N from bottom of screen
|M| M 1 cursor to middle line of screen
|N| N 1 repeat the latest '/' or '?' N times in
opposite direction
|O| O 2 begin a new line above the cursor and
insert text, repeat N times
|P| ["x]P 2 put the text [from buffer x] before the
cursor N times
|Q| Q switch to "Ex" mode
|R| R 2 enter replace mode: overtype existing
characters, repeat the entered text N-1
times
|S| ["x]S 2 delete N lines [into buffer x] and start
insert; synonym for "cc".
|T| T{char} 1 cursor till after Nth occurrence of {char}
to the left
|U| U 2 undo all latest changes on one line
|V| V start linewise Visual mode
|W| W 1 cursor N WORDS forward
|X| ["x]X 2 delete N characters before the cursor [into
buffer x]
|Y| ["x]Y yank N lines [into buffer x]; synonym for
"yy"
|ZZ| ZZ store current file if modified, and exit
|ZQ| ZQ exit current file always
|[| [{char} square bracket command (see |[| below)
\ not used
|]| ]{char} square bracket command (see |]| below)
|^| ^ 1 cursor to the first CHAR of the line
|_| _ 1 cursor to the first CHAR N - 1 lines lower
|`| `{a-zA-Z0-9} 1 cursor to the mark {a-zA-Z0-9}
|`(| `( 1 cursor to the start of the current sentence
|`)| `) 1 cursor to the end of the current sentence
|`<| `< 1 cursor to the start of the highlighted area
|`>| `> 1 cursor to the end of the highlighted area
|`[| `[ 1 cursor to the start of last operated text
or start of putted text
|`]| `] 1 cursor to the end of last operated text or
end of putted text
|``| `` 1 cursor to the position before latest jump
|`{| `{ 1 cursor to the start of the current paragraph
|`}| `} 1 cursor to the end of the current paragraph
|a| a 2 append text after the cursor N times
|b| b 1 cursor N words backward
|c| ["x]c{motion} 2 delete Nmove text [into buffer x] and start
insert
|cc| ["x]cc 2 delete N lines [into buffer x] and start
insert
|d| ["x]d{motion} 2 delete Nmove text [into buffer x]
|dd| ["x]dd 2 delete N lines [into buffer x]
|do| do 2 same as ":diffget"
|dp| dp 2 same as ":diffput"
|e| e 1 cursor forward to the end of word N
|f| f{char} 1 cursor to Nth occurrence of {char} to the
right
|g| g{char} extended commands, see |g| below
|h| h 1 cursor N chars to the left
|i| i 2 insert text before the cursor N times
|j| j 1 cursor N lines downward
|k| k 1 cursor N lines upward
|l| l 1 cursor N chars to the right
|m| m{A-Za-z} set mark {A-Za-z} at cursor position
|n| n 1 repeat the latest '/' or '?' N times
|o| o 2 begin a new line below the cursor and
insert text, repeat N times
|p| ["x]p 2 put the text [from register x] after the
cursor N times
|q| q{0-9a-zA-Z"} record typed characters into named register
{0-9a-zA-Z"} (uppercase to append)
|q| q (while recording) stops recording
|q:| q: edit : command-line in command-line window
|q/| q/ edit / command-line in command-line window
|q?| q? edit ? command-line in command-line window
|r| r{char} 2 replace N chars with {char}
|s| ["x]s 2 (substitute) delete N characters [into
buffer x] and start insert
|t| t{char} 1 cursor till before Nth occurrence of {char}
to the right
|u| u 2 undo changes
|v| v start characterwise Visual mode
|w| w 1 cursor N words forward
|x| ["x]x 2 delete N characters under and after the
cursor [into buffer x]
|y| ["x]y{motion} yank Nmove text [into buffer x]
|yy| ["x]yy yank N lines [into buffer x]
|z| z{char} commands starting with 'z', see |z| below
|{| { 1 cursor N paragraphs backward
|bar| | 1 cursor to column N
|}| } 1 cursor N paragraphs forward
|~| ~ 2 'tildeop' off: switch case of N characters
under cursor and move the cursor N
characters to the right
|~| ~{motion} 'tildeop' on: switch case of Nmove text
|| 1 same as "G"
|| 1 same as "gg"
|| 1 same as "b"
|| ":ta" to the keyword at the mouse click
|| 1 same as "w"
|| same as "CTRL-T"
|| ["x] 2 same as "x"
|N| {count} remove the last digit from {count}
|| 1 same as "j"
|| 1 same as "$"
|| same as
|| open a help window
|| 1 same as "0"
|| 2 same as "i"
|| 1 same as "h"
|| 1 move cursor to the mouse click position
|| 2 same as "gP" at the mouse click position
|| same as CTRL-F
|| same as CTRL-B
|| 1 same as "l"
|| start Visual mode, move cursor to the mouse
click position
|| 1 same as CTRL-F
|| 1 same as "b"
|| same as "*" at the mouse click position
|| 1 same as "w"
|| same as "#" at the mouse click position
|| 1 same as CTRL-B
|| 2 same as "u"
|| 1 same as "k"
|| scroll three lines downwards
|| scroll a full page downwards
|| scroll three lines upwards
|| scroll a full page upwards
==============================================================================
2.1 Text objects *objects*
These can be used after an operator or in Visual mode to select an object.
tag command action in Normal mode ~
------------------------------------------------------------------------------
|v_aquote| a" double quoted string
|v_a'| a' single quoted string
|v_a(| a( same as ab
|v_a)| a) same as ab
|v_a<| a< "a <>" from '<' to the matching '>'
|v_a>| a> same as a<
|v_aB| aB "a Block" from "[{" to "]}" (with brackets)
|v_aW| aW "a WORD" (with white space)
|v_a[| a[ "a []" from '[' to the matching ']'
|v_a]| a] same as a[
|v_a`| a` string in backticks
|v_ab| ab "a block" from "[(" to "])" (with braces)
|v_ap| ap "a paragraph" (with white space)
|v_as| as "a sentence" (with white space)
|v_at| at "a tag block" (with white space)
|v_aw| aw "a word" (with white space)
|v_a{| a{ same as aB
|v_a}| a} same as aB
|v_iquote| i" double quoted string without the quotes
|v_i'| i' single quoted string without the quotes
|v_i(| i( same as ib
|v_i)| i) same as ib
|v_i<| i< "inner <>" from '<' to the matching '>'
|v_i>| i> same as i<
|v_iB| iB "inner Block" from "[{" and "]}"
|v_iW| iW "inner WORD"
|v_i[| i[ "inner []" from '[' to the matching ']'
|v_i]| i] same as i[
|v_i`| i` string in backticks without the backticks
|v_ib| ib "inner block" from "[(" to "])"
|v_ip| ip "inner paragraph"
|v_is| is "inner sentence"
|v_it| it "inner tag block"
|v_iw| iw "inner word"
|v_i{| i{ same as iB
|v_i}| i} same as iB
==============================================================================
2.2 Window commands *CTRL-W*
tag command action in Normal mode ~
------------------------------------------------------------------------------
|CTRL-W_CTRL-B| CTRL-W CTRL-B same as "CTRL-W b"
|CTRL-W_CTRL-C| CTRL-W CTRL-C same as "CTRL-W c"
|CTRL-W_CTRL-D| CTRL-W CTRL-D same as "CTRL-W d"
|CTRL-W_CTRL-F| CTRL-W CTRL-F same as "CTRL-W f"
CTRL-W CTRL-G same as "CTRL-W g .."
|CTRL-W_CTRL-H| CTRL-W CTRL-H same as "CTRL-W h"
|CTRL-W_CTRL-I| CTRL-W CTRL-I same as "CTRL-W i"
|CTRL-W_CTRL-J| CTRL-W CTRL-J same as "CTRL-W j"
|CTRL-W_CTRL-K| CTRL-W CTRL-K same as "CTRL-W k"
|CTRL-W_CTRL-L| CTRL-W CTRL-L same as "CTRL-W l"
|CTRL-W_CTRL-N| CTRL-W CTRL-N same as "CTRL-W n"
|CTRL-W_CTRL-O| CTRL-W CTRL-O same as "CTRL-W o"
|CTRL-W_CTRL-P| CTRL-W CTRL-P same as "CTRL-W p"
|CTRL-W_CTRL-Q| CTRL-W CTRL-Q same as "CTRL-W q"
|CTRL-W_CTRL-R| CTRL-W CTRL-R same as "CTRL-W r"
|CTRL-W_CTRL-S| CTRL-W CTRL-S same as "CTRL-W s"
|CTRL-W_CTRL-T| CTRL-W CTRL-T same as "CTRL-W t"
|CTRL-W_CTRL-V| CTRL-W CTRL-V same as "CTRL-W v"
|CTRL-W_CTRL-W| CTRL-W CTRL-W same as "CTRL-W w"
|CTRL-W_CTRL-X| CTRL-W CTRL-X same as "CTRL-W x"
|CTRL-W_CTRL-Z| CTRL-W CTRL-Z same as "CTRL-W z"
|CTRL-W_CTRL-]| CTRL-W CTRL-] same as "CTRL-W ]"
|CTRL-W_CTRL-^| CTRL-W CTRL-^ same as "CTRL-W ^"
|CTRL-W_CTRL-_| CTRL-W CTRL-_ same as "CTRL-W _"
|CTRL-W_+| CTRL-W + increase current window height N lines
|CTRL-W_-| CTRL-W - decrease current window height N lines
|CTRL-W_<| CTRL-W < decrease current window width N columns
|CTRL-W_=| CTRL-W = make all windows the same height & width
|CTRL-W_>| CTRL-W > increase current window width N columns
|CTRL-W_H| CTRL-W H move current window to the far left
|CTRL-W_J| CTRL-W J move current window to the very bottom
|CTRL-W_K| CTRL-W K move current window to the very top
|CTRL-W_L| CTRL-W L move current window to the far right
|CTRL-W_P| CTRL-W P go to preview window
|CTRL-W_R| CTRL-W R rotate windows upwards N times
|CTRL-W_S| CTRL-W S same as "CTRL-W s"
|CTRL-W_T| CTRL-W T move current window to a new tab page
|CTRL-W_W| CTRL-W W go to N previous window (wrap around)
|CTRL-W_]| CTRL-W ] split window and jump to tag under cursor
|CTRL-W_^| CTRL-W ^ split current window and edit alternate
file N
|CTRL-W__| CTRL-W _ set current window height to N (default:
very high)
|CTRL-W_b| CTRL-W b go to bottom window
|CTRL-W_c| CTRL-W c close current window (like |:close|)
|CTRL-W_d| CTRL-W d split window and jump to definition under
the cursor
|CTRL-W_f| CTRL-W f split window and edit file name under the
cursor
|CTRL-W_F| CTRL-W F split window and edit file name under the
cursor and jump to the line number
following the file name.
|CTRL-W_g_CTRL-]| CTRL-W g CTRL-] split window and do |:tjump| to tag under
cursor
|CTRL-W_g]| CTRL-W g ] split window and do |:tselect| for tag
under cursor
|CTRL-W_g}| CTRL-W g } do a |:ptjump| to the tag under the cursor
|CTRL-W_gf| CTRL-W g f edit file name under the cursor in a new
tab page
|CTRL-W_gF| CTRL-W g F edit file name under the cursor in a new
tab page and jump to the line number
following the file name.
|CTRL-W_h| CTRL-W h go to Nth left window (stop at first window)
|CTRL-W_i| CTRL-W i split window and jump to declaration of
identifier under the cursor
|CTRL-W_j| CTRL-W j go N windows down (stop at last window)
|CTRL-W_k| CTRL-W k go N windows up (stop at first window)
|CTRL-W_l| CTRL-W l go to Nth right window (stop at last window)
|CTRL-W_n| CTRL-W n open new window, N lines high
|CTRL-W_o| CTRL-W o close all but current window (like |:only|)
|CTRL-W_p| CTRL-W p go to previous (last accessed) window
|CTRL-W_q| CTRL-W q quit current window (like |:quit|)
|CTRL-W_r| CTRL-W r rotate windows downwards N times
|CTRL-W_s| CTRL-W s split current window in two parts, new
window N lines high
|CTRL-W_t| CTRL-W t go to top window
|CTRL-W_v| CTRL-W v split current window vertically, new window
N columns wide
|CTRL-W_w| CTRL-W w go to N next window (wrap around)
|CTRL-W_x| CTRL-W x exchange current window with window N
(default: next window)
|CTRL-W_z| CTRL-W z close preview window
|CTRL-W_bar| CTRL-W | set window width to N columns
|CTRL-W_}| CTRL-W } show tag under cursor in preview window
|CTRL-W_| CTRL-W same as "CTRL-W j"
|CTRL-W_| CTRL-W same as "CTRL-W k"
|CTRL-W_| CTRL-W same as "CTRL-W h"
|CTRL-W_| CTRL-W same as "CTRL-W l"
==============================================================================
2.3 Square bracket commands *[* *]*
tag char note action in Normal mode ~
------------------------------------------------------------------------------
|[_CTRL-D| [ CTRL-D jump to first #define found in current and
included files matching the word under the
cursor, start searching at beginning of
current file
|[_CTRL-I| [ CTRL-I jump to first line in current and included
files that contains the word under the
cursor, start searching at beginning of
current file
|[#| [# 1 cursor to N previous unmatched #if, #else
or #ifdef
|['| [' 1 cursor to previous lowercase mark, on first
non-blank
|[(| [( 1 cursor N times back to unmatched '('
|[star| [* 1 same as "[/"
|[`| [` 1 cursor to previous lowercase mark
|[/| [/ 1 cursor to N previous start of a C comment
|[D| [D list all defines found in current and
included files matching the word under the
cursor, start searching at beginning of
current file
|[I| [I list all lines found in current and
included files that contain the word under
the cursor, start searching at beginning of
current file
|[P| [P 2 same as "[p"
|[[| [[ 1 cursor N sections backward
|[]| [] 1 cursor N SECTIONS backward
|[c| [c 1 cursor N times backwards to start of change
|[d| [d show first #define found in current and
included files matching the word under the
cursor, start searching at beginning of
current file
|[f| [f same as "gf"
|[i| [i show first line found in current and
included files that contains the word under
the cursor, start searching at beginning of
current file
|[m| [m 1 cursor N times back to start of member
function
|[p| [p 2 like "P", but adjust indent to current line
|[s| [s 1 move to the previous misspelled word
|[z| [z 1 move to start of open fold
|[{| [{ 1 cursor N times back to unmatched '{'
|[ [ 2 same as "[p"
|]_CTRL-D| ] CTRL-D jump to first #define found in current and
included files matching the word under the
cursor, start searching at cursor position
|]_CTRL-I| ] CTRL-I jump to first line in current and included
files that contains the word under the
cursor, start searching at cursor position
|]#| ]# 1 cursor to N next unmatched #endif or #else
|]'| ]' 1 cursor to next lowercase mark, on first
non-blank
|])| ]) 1 cursor N times forward to unmatched ')'
|]star| ]* 1 same as "]/"
|]`| ]` 1 cursor to next lowercase mark
|]/| ]/ 1 cursor to N next end of a C comment
|]D| ]D list all #defines found in current and
included files matching the word under the
cursor, start searching at cursor position
|]I| ]I list all lines found in current and
included files that contain the word under
the cursor, start searching at cursor
position
|]P| ]P 2 same as "[p"
|][| ][ 1 cursor N SECTIONS forward
|]]| ]] 1 cursor N sections forward
|]c| ]c 1 cursor N times forward to start of change
|]d| ]d show first #define found in current and
included files matching the word under the
cursor, start searching at cursor position
|]f| ]f same as "gf"
|]i| ]i show first line found in current and
included files that contains the word under
the cursor, start searching at cursor
position
|]m| ]m 1 cursor N times forward to end of member
function
|]p| ]p 2 like "p", but adjust indent to current line
|]s| ]s 1 move to next misspelled word
|]z| ]z 1 move to end of open fold
|]}| ]} 1 cursor N times forward to unmatched '}'
|] ] 2 same as "]p"
==============================================================================
2.4 Commands starting with 'g' *g*
tag char note action in Normal mode ~
------------------------------------------------------------------------------
|g_CTRL-A| g CTRL-A only when compiled with MEM_PROFILE
defined: dump a memory profile
|g_CTRL-G| g CTRL-G show information about current cursor
position
|g_CTRL-H| g CTRL-H start Select block mode
|g_CTRL-]| g CTRL-] |:tjump| to the tag under the cursor
|g#| g# 1 like "#", but without using "\<" and "\>"
|g$| g$ 1 when 'wrap' off go to rightmost character of
the current line that is on the screen;
when 'wrap' on go to the rightmost character
of the current screen line
|g&| g& 2 repeat last ":s" on all lines
|g'| g'{mark} 1 like |'| but without changing the jumplist
|g`| g`{mark} 1 like |`| but without changing the jumplist
|gstar| g* 1 like "*", but without using "\<" and "\>"
|g0| g0 1 when 'wrap' off go to leftmost character of
the current line that is on the screen;
when 'wrap' on go to the leftmost character
of the current screen line
|g8| g8 print hex value of bytes used in UTF-8
character under the cursor
|g<| g< display previous command output
|g?| g? 2 Rot13 encoding operator
|g?g?| g?? 2 Rot13 encode current line
|g?g?| g?g? 2 Rot13 encode current line
|gD| gD 1 go to definition of word under the cursor
in current file
|gE| gE 1 go backwards to the end of the previous
WORD
|gH| gH start Select line mode
|gI| gI 2 like "I", but always start in column 1
|gJ| gJ 2 join lines without inserting space
|gP| ["x]gP 2 put the text [from register x] before the
cursor N times, leave the cursor after it
|gR| gR 2 enter Virtual Replace mode
|gU| gU{motion} 2 make Nmove text uppercase
|gV| gV don't reselect the previous Visual area
when executing a mapping or menu in Select
mode
|g]| g] :tselect on the tag under the cursor
|g^| g^ 1 when 'wrap' off go to leftmost non-white
character of the current line that is on
the screen; when 'wrap' on go to the
leftmost non-white character of the current
screen line
|ga| ga print ascii value of character under the
cursor
|gd| gd 1 go to definition of word under the cursor
in current function
|ge| ge 1 go backwards to the end of the previous
word
|gf| gf start editing the file whose name is under
the cursor
|gF| gF start editing the file whose name is under
the cursor and jump to the line number
following the filename.
|gg| gg 1 cursor to line N, default first line
|gh| gh start Select mode
|gi| gi 2 like "i", but first move to the |'^| mark
|gj| gj 1 like "j", but when 'wrap' on go N screen
lines down
|gk| gk 1 like "k", but when 'wrap' on go N screen
lines up
|gm| gm 1 go to character at middle of the screenline
|go| go 1 cursor to byte N in the buffer
|gp| ["x]gp 2 put the text [from register x] after the
cursor N times, leave the cursor after it
|gq| gq{motion} 2 format Nmove text
|gr| gr{char} 2 virtual replace N chars with {char}
|gs| gs go to sleep for N seconds (default 1)
|gu| gu{motion} 2 make Nmove text lowercase
|gv| gv reselect the previous Visual area
|gw| gw{motion} 2 format Nmove text and keep cursor
|netrw-gx| gx execute application for file name under the
cursor (only with |netrw| plugin)
|g@| g@{motion} call 'operatorfunc'
|g~| g~{motion} 2 swap case for Nmove text
|g| g 1 same as "gj"
|g| g 1 same as "g$"
|g| g 1 same as "g0"
|g| g same as
g same as
|g| g same as
|g| g 1 same as "gk"
==============================================================================
2.5 Commands starting with 'z' *z*
tag char note action in Normal mode ~
------------------------------------------------------------------------------
|z| z redraw, cursor line to top of window,
cursor on first non-blank
|zN| z{height} redraw, make window {height} lines high
|z+| z+ cursor on line N (default line below
window), otherwise like "z"
|z-| z- redraw, cursor line at bottom of window,
cursor on first non-blank
|z.| z. redraw, cursor line to center of window,
cursor on first non-blank
|z=| z= give spelling suggestions
|zA| zA open a closed fold or close an open fold
recursively
|zC| zC close folds recursively
|zD| zD delete folds recursively
|zE| zE eliminate all folds
|zF| zF create a fold for N lines
|zG| zG mark word as good spelled word
|zM| zM set 'foldlevel' to zero
|zN| zN set 'foldenable'
|zO| zO open folds recursively
|zR| zR set 'foldlevel' to the deepest fold
|zW| zW mark word as wrong (bad) spelled word
|zX| zX re-apply 'foldlevel'
|z^| z^ cursor on line N (default line above
window), otherwise like "z-"
|za| za open a closed fold, close an open fold
|zb| zb redraw, cursor line at bottom of window
|zc| zc close a fold
|zd| zd delete a fold
|ze| ze when 'wrap' off scroll horizontally to
position the cursor at the end (right side)
of the screen
|zf| zf{motion} create a fold for Nmove text
|zg| zg mark word as good spelled word
|zh| zh when 'wrap' off scroll screen N characters
to the right
|zi| zi toggle 'foldenable'
|zj| zj 1 move to the start of the next fold
|zk| zk 1 move to the end of the previous fold
|zl| zl when 'wrap' off scroll screen N characters
to the left
|zm| zm subtract one from 'foldlevel'
|zn| zn reset 'foldenable'
|zo| zo open fold
|zr| zr add one to 'foldlevel'
|zs| zs when 'wrap' off scroll horizontally to
position the cursor at the start (left
side) of the screen
|zt| zt redraw, cursor line at top of window
|zv| zv open enough folds to view the cursor line
|zw| zw mark word as wrong (bad) spelled word
|zx| zx re-apply 'foldlevel' and do "zv"
|zz| zz redraw, cursor line at center of window
|z| z same as "zh"
|z| z same as "zl"
==============================================================================
3. Visual mode *visual-index*
Most commands in Visual mode are the same as in Normal mode. The ones listed
here are those that are different.
tag command note action in Visual mode ~
------------------------------------------------------------------------------
|v_CTRL-\_CTRL-N| CTRL-\ CTRL-N stop Visual mode
|v_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode'
|v_CTRL-C| CTRL-C stop Visual mode
|v_CTRL-G| CTRL-G toggle between Visual mode and Select mode
|v_| 2 Select mode: delete highlighted area
|v_CTRL-H| CTRL-H 2 same as
|v_CTRL-O| CTRL-O switch from Select to Visual mode for one
command
|v_CTRL-V| CTRL-V make Visual mode blockwise or stop Visual
mode
|v_| stop Visual mode
|v_CTRL-]| CTRL-] jump to highlighted tag
|v_!| !{filter} 2 filter the highlighted lines through the
external command {filter}
|v_:| : start a command-line with the highlighted
lines as a range
|v_<| < 2 shift the highlighted lines one
'shiftwidth' left
|v_=| = 2 filter the highlighted lines through the
external program given with the 'equalprg'
option
|v_>| > 2 shift the highlighted lines one
'shiftwidth' right
|v_b_A| A 2 block mode: append same text in all lines,
after the highlighted area
|v_C| C 2 delete the highlighted lines and start
insert
|v_D| D 2 delete the highlighted lines
|v_b_I| I 2 block mode: insert same text in all lines,
before the highlighted area
|v_J| J 2 join the highlighted lines
|v_K| K run 'keywordprg' on the highlighted area
|v_O| O Move horizontally to other corner of area.
Q does not start Ex mode
|v_R| R 2 delete the highlighted lines and start
insert
|v_S| S 2 delete the highlighted lines and start
insert
|v_U| U 2 make highlighted area uppercase
|v_V| V make Visual mode linewise or stop Visual
mode
|v_X| X 2 delete the highlighted lines
|v_Y| Y yank the highlighted lines
|v_aquote| a" extend highlighted area with a double
quoted string
|v_a'| a' extend highlighted area with a single
quoted string
|v_a(| a( same as ab
|v_a)| a) same as ab
|v_a<| a< extend highlighted area with a <> block
|v_a>| a> same as a<
|v_aB| aB extend highlighted area with a {} block
|v_aW| aW extend highlighted area with "a WORD"
|v_a[| a[ extend highlighted area with a [] block
|v_a]| a] same as a[
|v_a`| a` extend highlighted area with a backtick
quoted string
|v_ab| ab extend highlighted area with a () block
|v_ap| ap extend highlighted area with a paragraph
|v_as| as extend highlighted area with a sentence
|v_at| at extend highlighted area with a tag block
|v_aw| aw extend highlighted area with "a word"
|v_a{| a{ same as aB
|v_a}| a} same as aB
|v_c| c 2 delete highlighted area and start insert
|v_d| d 2 delete highlighted area
|v_gJ| gJ 2 join the highlighted lines without
inserting spaces
|v_gq| gq 2 format the highlighted lines
|v_gv| gv exchange current and previous highlighted
area
|v_iquote| i" extend highlighted area with a double
quoted string (without quotes)
|v_i'| i' extend highlighted area with a single
quoted string (without quotes)
|v_i(| i( same as ib
|v_i)| i) same as ib
|v_i<| i< extend highlighted area with inner <> block
|v_i>| i> same as i<
|v_iB| iB extend highlighted area with inner {} block
|v_iW| iW extend highlighted area with "inner WORD"
|v_i[| i[ extend highlighted area with inner [] block
|v_i]| i] same as i[
|v_i`| i` extend highlighted area with a backtick
quoted string (without the backticks)
|v_ib| ib extend highlighted area with inner () block
|v_ip| ip extend highlighted area with inner paragraph
|v_is| is extend highlighted area with inner sentence
|v_it| it extend highlighted area with inner tag block
|v_iw| iw extend highlighted area with "inner word"
|v_i{| i{ same as iB
|v_i}| i} same as iB
|v_o| o move cursor to other corner of area
|v_r| r 2 delete highlighted area and start insert
|v_s| s 2 delete highlighted area and start insert
|v_u| u 2 make highlighted area lowercase
|v_v| v make Visual mode characterwise or stop
Visual mode
|v_x| x 2 delete the highlighted area
|v_y| y yank the highlighted area
|v_~| ~ 2 swap case for the highlighted area
==============================================================================
4. Command-line editing *ex-edit-index*
Get to the command-line with the ':', '!', '/' or '?' commands.
Normal characters are inserted at the current cursor position.
"Completion" below refers to context-sensitive completion. It will complete
file names, tags, commands etc. as appropriate.
CTRL-@ not used
|c_CTRL-A| CTRL-A do completion on the pattern in front of the
cursor and insert all matches
|c_CTRL-B| CTRL-B cursor to begin of command-line
|c_CTRL-C| CTRL-C same as
|c_CTRL-D| CTRL-D list completions that match the pattern in
front of the cursor
|c_CTRL-E| CTRL-E cursor to end of command-line
|'cedit'| CTRL-F default value for 'cedit': opens the
command-line window; otherwise not used
CTRL-G not used
|c_| delete the character in front of the cursor
|c_digraph| {char1} {char2}
enter digraph when 'digraph' is on
|c_CTRL-H| CTRL-H same as
|c_| if 'wildchar' is : Do completion on
the pattern in front of the cursor
|c_| same as CTRL-P
|c_wildchar| 'wildchar' Do completion on the pattern in front of the
cursor (default: )
|c_CTRL-I| CTRL-I same as
|c_| same as
|c_CTRL-J| CTRL-J same as
|c_CTRL-K| CTRL-K {char1} {char2}
enter digraph
|c_CTRL-L| CTRL-L do completion on the pattern in front of the
cursor and insert the longest common part
|c_| execute entered command
|c_| CTRL-M same as
|c_CTRL-N| CTRL-N after using 'wildchar' with multiple matches:
go to next match, otherwise: same as
CTRL-O not used
|c_CTRL-P| CTRL-P after using 'wildchar' with multiple matches:
go to previous match, otherwise: same as
|c_CTRL-Q| CTRL-Q same as CTRL-V, unless it's used for terminal
control flow
|c_CTRL-R| CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
insert the contents of a register or object
under the cursor as if typed
|c_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
insert the contents of a register or object
under the cursor literally
CTRL-S (used for terminal control flow)
CTRL-T not used
|c_CTRL-U| CTRL-U remove all characters
|c_CTRL-V| CTRL-V insert next non-digit literally, insert three
digit decimal number as a single byte.
|c_CTRL-W| CTRL-W delete the word in front of the cursor
CTRL-X not used (reserved for completion)
CTRL-Y copy (yank) modeless selection
CTRL-Z not used (reserved for suspend)
|c_| abandon command-line without executing it
|c_| CTRL-[ same as
|c_CTRL-\_CTRL-N| CTRL-\ CTRL-N go to Normal mode, abandon command-line
|c_CTRL-\_CTRL-G| CTRL-\ CTRL-G go to mode specified with 'insertmode',
abandon command-line
CTRL-\ a - d reserved for extensions
|c_CTRL-\_e| CTRL-\ e {expr} replace the command line with the result of
{expr}
CTRL-\ f - z reserved for extensions
CTRL-\ others not used
|c_CTRL-]| CTRL-] trigger abbreviation
|c_CTRL-^| CTRL-^ toggle use of |:lmap| mappings
|c_CTRL-_| CTRL-_ when 'allowrevins' set: change language
(Hebrew, Farsi)
|c_| delete the character under the cursor
|c_| cursor left
|c_| cursor one word left
|c_| cursor one word left
|c_| cursor right
|c_| cursor one word right
|c_| cursor one word right
|c_| recall previous command-line from history that
matches pattern in front of the cursor
|c_| recall previous command-line from history
|c_| recall next command-line from history that
matches pattern in front of the cursor
|c_| recall next command-line from history
|c_| cursor to start of command-line
|c_|