Index

Nvim :help pages, generated from source using the tree-sitter-vimdoc parser.


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".
For an overview of options see option-list. For an overview of built-in functions see functions. For a list of Vim variables see vvars.

1. Insert mode insert-index

TagCharInsert-mode action
i_CTRL-@CTRL-@insert previously inserted text and stop insert
i_CTRL-ACTRL-Ainsert previously inserted text
i_CTRL-CCTRL-Cquit insert mode, without checking for abbreviation
i_CTRL-DCTRL-Ddelete one shiftwidth of indent in the current line
i_CTRL-ECTRL-Einsert the character which is below the cursor
 CTRL-Fnot used (but by default it's in 'cinkeys' to re-indent the current line)
i_CTRL-G_jCTRL-G CTRL-Jline down, to column where inserting started
i_CTRL-G_jCTRL-G jline down, to column where inserting started
i_CTRL-G_jCTRL-G <Down>line down, to column where inserting started
i_CTRL-G_kCTRL-G CTRL-Kline up, to column where inserting started
i_CTRL-G_kCTRL-G kline up, to column where inserting started
i_CTRL-G_kCTRL-G <Up>line up, to column where inserting started
i_CTRL-G_uCTRL-G ustart new undoable edit
i_CTRL-G_UCTRL-G Udon't break undo with next cursor movement
i_<BS><BS>delete character before the cursor
i_digraph{char1}<BS>{char2} enter digraph (only when 'digraph' option set)
i_CTRL-HCTRL-Hsame as <BS>
i_<Tab><Tab>insert a <Tab> character
i_CTRL-ICTRL-Isame as <Tab>
i_<NL><NL>same as <CR>
i_CTRL-JCTRL-Jsame as <CR>
i_CTRL-KCTRL-K {char1} {char2} enter digraph
i_<CR><CR>begin new line
i_CTRL-MCTRL-Msame as <CR>
i_CTRL-NCTRL-Nfind next match for keyword in front of the cursor
i_CTRL-OCTRL-Oexecute a single command and return to insert mode
i_CTRL-PCTRL-Pfind previous match for keyword in front of the cursor
i_CTRL-QCTRL-Qsame as CTRL-V, unless used for terminal control flowi_CTRL-SHIFT-Q CTRL-SHIFT-Q {char} like CTRL-Q unless tui-modifyOtherKeys is active
i_CTRL-RCTRL-R {register} insert the contents of a registeri_CTRL-R_CTRL-R CTRL-R CTRL-R {register} insert the contents of a register literallyi_CTRL-R_CTRL-O CTRL-R CTRL-O {register} insert the contents of a register literally and don't auto-indenti_CTRL-R_CTRL-P CTRL-R CTRL-P {register} insert the contents of a register literally and fix indent.
 CTRL-Snot used or used for terminal control flow
i_CTRL-TCTRL-Tinsert one shiftwidth of indent in current line
i_CTRL-UCTRL-Udelete all entered characters in the current line
i_CTRL-VCTRL-V {char}insert next non-digit literallyi_CTRL-SHIFT-V CTRL-SHIFT-V {char} like CTRL-V unless tui-modifyOtherKeys is activei_CTRL-V_digit CTRL-V {number} insert three digit decimal number as a single byte.
i_CTRL-WCTRL-Wdelete word before the cursor
i_CTRL-XCTRL-X {mode}enter CTRL-X sub mode, see i_CTRL-X_index
i_CTRL-YCTRL-Yinsert the character which is above the cursor
i_<Esc><Esc>end insert mode
i_CTRL-[CTRL-[same as <Esc>
i_CTRL-\_CTRL-N CTRL-\ CTRL-Ngo to Normal mode
i_CTRL-\_CTRL-G CTRL-\ CTRL-Ggo to Normal mode
 CTRL-\ a - zreserved for extensions
 CTRL-\ othersnot used
i_CTRL-]CTRL-]trigger abbreviation
i_CTRL-^CTRL-^toggle use of :lmap mappings
i_CTRL-_CTRL-_When 'allowrevins' set: toggle 'revins'
 <Space> to '~'not used, except '0' and '^' followed by CTRL-D
i_0_CTRL-D0 CTRL-Ddelete all indent in the current line
i_^_CTRL-D^ CTRL-Ddelete all indent in the current line, restore it in the next line
i_<Del><Del>delete character under the cursor
 Meta characters (0x80 to 0xff, 128 to 255)not used
i_<Left><Left>cursor one character left
i_<S-Left><S-Left>cursor one word left
i_<C-Left><C-Left>cursor one word left
i_<Right><Right>cursor one character right
i_<S-Right><S-Right>cursor one word right
i_<C-Right><C-Right>cursor one word right
i_<Up><Up>cursor one line up
i_<S-Up><S-Up>same as <PageUp>
i_<Down><Down>cursor one line down
i_<S-Down><S-Down>same as <PageDown>
i_<Home><Home>cursor to start of line
i_<C-Home><C-Home>cursor to start of file
i_<End><End>cursor past end of line
i_<C-End><C-End>cursor past end of file
i_<PageUp><PageUp>one screenful backward
i_<PageDown><PageDown>one screenful forward
i_<F1><F1>same as <Help>
i_<Help><Help>stop insert mode and display help window
i_<Insert><Insert>toggle Insert/Replace mode
i_<LeftMouse><LeftMouse>cursor at mouse click
i_<ScrollWheelDown><ScrollWheelDown>move window three lines down
i_<S-ScrollWheelDown><S-ScrollWheelDown>move window one page down
i_<ScrollWheelUp><ScrollWheelUp>move window three lines up
i_<S-ScrollWheelUp><S-ScrollWheelUp>move window one page up
i_<ScrollWheelLeft><ScrollWheelLeft>move window six columns left
i_<S-ScrollWheelLeft><S-ScrollWheelLeft>move window one page left
i_<ScrollWheelRight><ScrollWheelRight>move window six columns right
i_<S-ScrollWheelRight> <S-ScrollWheelRight>move window one page right
commands in CTRL-X submode i_CTRL-X_index
TagCharCTRL-X submode action
i_CTRL-X_CTRL-DCTRL-X CTRL-Dcomplete defined identifiers
i_CTRL-X_CTRL-ECTRL-X CTRL-Escroll up
i_CTRL-X_CTRL-FCTRL-X CTRL-Fcomplete file names
i_CTRL-X_CTRL-ICTRL-X CTRL-Icomplete identifiers
i_CTRL-X_CTRL-KCTRL-X CTRL-Kcomplete identifiers from dictionary
i_CTRL-X_CTRL-LCTRL-X CTRL-Lcomplete whole lines
i_CTRL-X_CTRL-NCTRL-X CTRL-Nnext completion
i_CTRL-X_CTRL-OCTRL-X CTRL-Oomni completion
i_CTRL-X_CTRL-PCTRL-X CTRL-Pprevious completion
i_CTRL-X_CTRL-RCTRL-X CTRL-Rcomplete contents from registers
i_CTRL-X_CTRL-SCTRL-X CTRL-Sspelling suggestions
i_CTRL-X_CTRL-TCTRL-X CTRL-Tcomplete identifiers from thesaurus
i_CTRL-X_CTRL-YCTRL-X CTRL-Yscroll down
i_CTRL-X_CTRL-UCTRL-X CTRL-Ucomplete with 'completefunc'
i_CTRL-X_CTRL-VCTRL-X CTRL-Vcomplete like in : command line
i_CTRL-X_CTRL-ZCTRL-X CTRL-Zstop completion, text is unchanged
i_CTRL-X_CTRL-]CTRL-X CTRL-]complete tags
i_CTRL-X_sCTRL-X sspelling suggestions
commands in completion mode (see popupmenu-keys)
TagCharCompletion-mode action
complete_CTRL-ECTRL-Estop completion and go back to original text
complete_CTRL-YCTRL-Yaccept selected match and stop completion
 CTRL-Linsert one character from the current match
 <CR>insert currently selected match
 <BS>delete one character and redo search
 CTRL-Hsame as <BS>
 <Up>select the previous match
 <Down>select the next match
 <PageUp>select a match several entries back
 <PageDown>select a match several entries forward
 otherstop completion and insert the typed character

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
TagCharNote Normal-mode action
 CTRL-@not used
CTRL-ACTRL-A2 add N to number at/after cursor
CTRL-BCTRL-B1 scroll N screens Backwards
CTRL-CCTRL-Cinterrupt current (search) command
CTRL-DCTRL-Dscroll Down N lines (default: half a screen)
CTRL-ECTRL-Escroll N lines upwards (N lines Extra)
CTRL-FCTRL-F1 scroll N screens Forward
CTRL-GCTRL-Gdisplay current file name and position
<BS><BS>1 same as "h"
CTRL-HCTRL-H1 same as "h"
<Tab><Tab>1 go to N newer entry in jump list
CTRL-ICTRL-I1 same as <Tab>
<NL><NL>1 same as "j"
<S-NL><S-NL>1 same as CTRL-F
CTRL-JCTRL-J1 same as "j"
 CTRL-Knot used
CTRL-LCTRL-Lredraw screen
<CR><CR>1 cursor to the first CHAR N lines lower
<S-CR><S-CR>1 same as CTRL-F
CTRL-MCTRL-M1 same as <CR>
CTRL-NCTRL-N1 same as "j"
CTRL-OCTRL-O1 go to N older entry in jump list
CTRL-PCTRL-P1 same as "k"
 CTRL-Qnot used, or used for terminal control flow
CTRL-RCTRL-R2 redo changes which were undone with 'u'
 CTRL-Snot used, or used for terminal control flow
CTRL-TCTRL-Tjump to N older Tag in tag list
CTRL-UCTRL-Uscroll N lines Upwards (default: half a screen)
CTRL-VCTRL-Vstart blockwise Visual mode
CTRL-WCTRL-W {char}window commands, see CTRL-W
CTRL-XCTRL-X2 subtract N from number at/after cursor
CTRL-YCTRL-Yscroll N lines downwards
CTRL-ZCTRL-Zsuspend program (or start new shell)
 CTRL-[ <Esc>not used
CTRL-\_CTRL-NCTRL-\ CTRL-Ngo to Normal mode (no-op)
CTRL-\_CTRL-GCTRL-\ CTRL-Ggo to Normal mode (no-op)
 CTRL-\ a - zreserved for extensions
 CTRL-\ othersnot used
CTRL-]CTRL-]:ta to ident under cursor
CTRL-^CTRL-^edit Nth alternate file (equivalent to ":e #N")
CTRL-<Tab>CTRL-<Tab>same as g<Tab> : go to last accessed tab page
 CTRL-_not used
<Space><Space>1 same as "l"
!!{motion}{filter} 2 filter Nmove text through the {filter} command
!!!!{filter}2 filter N lines through the {filter} command
quote"{register}use {register} for next delete, yank or put ({.%#:} 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 <CR>
<S-Plus><S-+>1 same as CTRL-F
,,1 repeat latest f, t, F or T in opposite direction N times
--1 cursor to the first CHAR N lines higher
<S-Minus><S-->1 same as CTRL-B
..2 repeat last change with count replaced with N
//{pattern}<CR>1 search forward for the Nth occurrence of {pattern}
/<CR>/<CR>1 search forward for {pattern} of last search
001 cursor to the first char of the line
count1prepend to command to give a count
count2"
count3"
count4"
count5"
count6"
count7"
count8"
count9"
::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}<CR>1 search backward for the Nth previous occurrence of {pattern}
?<CR>?<CR>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
AA2 append text after the end of the line N times
BB1 cursor N WORDS backward
C["x]C2 change from the cursor position to the end of the line, and N-1 more lines [into register x]; synonym for "c$"
D["x]D2 delete the characters under the cursor until the end of the line and N-1 more lines [into register x]; synonym for "d$"
EE1 cursor forward to the end of WORD N
FF{char}1 cursor to the Nth occurrence of {char} to the left
GG1 cursor to line N, default last line
HH1 cursor to line N from top of screen
II2 insert text before the first CHAR on the line N times
JJ2 Join N lines; default is 2
KKlookup Keyword under the cursor with 'keywordprg'
LL1 cursor to line N from bottom of screen
MM1 cursor to middle line of screen
NN1 repeat the latest '/' or '?' N times in opposite direction
OO2 begin a new line above the cursor and insert text, repeat N times
P["x]P2 put the text [from register x] before the cursor N times
RR2 enter replace mode: overtype existing characters, repeat the entered text N-1 times
S["x]S2 delete N lines [into register x] and start insert; synonym for "cc".
TT{char}1 cursor till after Nth occurrence of {char} to the left
UU2 undo all latest changes on one line
VVstart linewise Visual mode
WW1 cursor N WORDS forward
X["x]X2 delete N characters before the cursor [into register x]
Y["x]Yyank N lines [into register x]; synonym for "yy" Note: Mapped to "y$" by default. default-mappings
ZZZZwrite if buffer changed and close window
ZQZQclose window without writing
[[{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
aa2 append text after the cursor N times
bb1 cursor N words backward
c["x]c{motion}2 delete Nmove text [into register x] and start insert
cc["x]cc2 delete N lines [into register x] and start insert
d["x]d{motion}2 delete Nmove text [into register x]
dd["x]dd2 delete N lines [into register x]
dodo2 same as ":diffget"
dpdp2 same as ":diffput"
ee1 cursor forward to the end of word N
ff{char}1 cursor to Nth occurrence of {char} to the right
gg{char}extended commands, see g below
hh1 cursor N chars to the left
ii2 insert text before the cursor N times
jj1 cursor N lines downward
kk1 cursor N lines upward
ll1 cursor N chars to the right
mm{A-Za-z}set mark {A-Za-z} at cursor position
nn1 repeat the latest '/' or '?' N times
oo2 begin a new line below the cursor and insert text, repeat N times
p["x]p2 put the text [from register x] after the cursor N times
qq{0-9a-zA-Z"}record typed characters into named register {0-9a-zA-Z"} (uppercase to append)
qq(while recording) stops recording
QQplace/remove a multicursor; with [count]: place at each search match
q:[count]q:edit : command-line in command-line window, with [count]: switch to Ex-mode
q/q/edit / command-line in command-line window
q?q?edit ? command-line in command-line window
rr{char}2 replace N chars with {char}
s["x]s2 (substitute) delete N characters [into register x] and start insert
tt{char}1 cursor till before Nth occurrence of {char} to the right
uu2 undo changes
vvstart charwise Visual mode
ww1 cursor N words forward
x["x]x2 delete N characters under and after the cursor [into register x]
y["x]y{motion}yank Nmove text [into register x]
yy["x]yyyank N lines [into register x]
zz{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
<C-End><C-End>1 same as "G"
<C-Home><C-Home>1 same as "gg"
<C-Left><C-Left>1 same as "b"
<C-LeftMouse><C-LeftMouse>place a multicursor at mouse-click
<C-Right><C-Right>1 same as "w"
<C-RightMouse> <C-RightMouse>same as "CTRL-T"
<C-Tab><C-Tab>same as "g<Tab>"
<Del>["x]<Del>2 same as "x"
N<Del>{count}<Del>remove the last digit from {count}
<Down><Down>1 same as "j"
<End><End>1 same as "$"
<F1><F1>same as <Help>
<Help><Help>open a help window
<Home><Home>1 same as "0"
<Insert><Insert>2 same as "i"
<Left><Left>1 same as "h"
<LeftMouse><LeftMouse>1 move cursor to the mouse click position
<MiddleMouse><MiddleMouse>2 same as "gP" at the mouse click position
<PageDown><PageDown>same as CTRL-F
<PageUp><PageUp>same as CTRL-B
<Right><Right>1 same as "l"
<RightMouse><RightMouse>start Visual mode, move cursor to the mouse click position
<S-Down><S-Down>1 same as CTRL-F
<S-Left><S-Left>1 same as "b"
<S-LeftMouse><S-LeftMouse>same as "*" at the mouse click position
<S-Right><S-Right>1 same as "w"
<S-RightMouse> <S-RightMouse>same as "#" at the mouse click position
<S-Up><S-Up>1 same as CTRL-B
<Undo><Undo>2 same as "u"
<Up><Up>1 same as "k"
<ScrollWheelDown><ScrollWheelDown>move window three lines down
<S-ScrollWheelDown><S-ScrollWheelDown>move window one page down
<ScrollWheelUp><ScrollWheelUp>move window three lines up
<S-ScrollWheelUp><S-ScrollWheelUp>move window one page up
<ScrollWheelLeft><ScrollWheelLeft>move window six columns left
<S-ScrollWheelLeft><S-ScrollWheelLeft>move window one page left
<ScrollWheelRight><ScrollWheelRight>move window six columns right
<S-ScrollWheelRight><S-ScrollWheelRight>move window one page right

2.1 Text objects objects

These can be used after an operator or in Visual mode to select an object.
TagCommandOp-pending and Visual-mode action
v_aquotea"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_aBaB"a Block" from [{ to ]} (with brackets)
v_aWaW"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_abab"a block" from "[(" to "])" (with braces)
v_alalall lines (entire buffer)
v_apap"a paragraph" (with white space)
v_asas"a sentence" (with white space)
v_atat"a tag block" (with white space)
v_awaw"a word" (with white space)
v_a{a{same as aB
v_a}a}same as aB
v_iquotei"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_iBiB"inner Block" from [{ and ]}
v_iWiW"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_ibib"inner block" from "[(" to "])"
v_ililinner line (without surrounding whitespace)
v_ipip"inner paragraph"
v_isis"inner sentence"
v_itit"inner tag block"
v_iwiw"inner word"
v_i{i{same as iB
v_i}i}same as iB

2.2 Window commands CTRL-W

TagCommandNormal-mode action
CTRL-W_CTRL-BCTRL-W CTRL-Bsame as "CTRL-W b"
CTRL-W_CTRL-CCTRL-W CTRL-Cno-op
CTRL-W_CTRL-DCTRL-W CTRL-Dsame as "CTRL-W d"
CTRL-W_CTRL-FCTRL-W CTRL-Fsame as "CTRL-W f"
 CTRL-W CTRL-Gsame as "CTRL-W g .."
CTRL-W_CTRL-HCTRL-W CTRL-Hsame as "CTRL-W h"
CTRL-W_CTRL-ICTRL-W CTRL-Isame as "CTRL-W i"
CTRL-W_CTRL-JCTRL-W CTRL-Jsame as "CTRL-W j"
CTRL-W_CTRL-KCTRL-W CTRL-Ksame as "CTRL-W k"
CTRL-W_CTRL-LCTRL-W CTRL-Lsame as "CTRL-W l"
CTRL-W_CTRL-NCTRL-W CTRL-Nsame as "CTRL-W n"
CTRL-W_CTRL-OCTRL-W CTRL-Osame as "CTRL-W o"
CTRL-W_CTRL-PCTRL-W CTRL-Psame as "CTRL-W p"
CTRL-W_CTRL-QCTRL-W CTRL-Qsame as "CTRL-W q"
CTRL-W_CTRL-RCTRL-W CTRL-Rsame as "CTRL-W r"
CTRL-W_CTRL-SCTRL-W CTRL-Ssame as "CTRL-W s"
CTRL-W_CTRL-TCTRL-W CTRL-Tsame as "CTRL-W t"
CTRL-W_CTRL-VCTRL-W CTRL-Vsame as "CTRL-W v"
CTRL-W_CTRL-WCTRL-W CTRL-Wsame as "CTRL-W w"
CTRL-W_CTRL-XCTRL-W CTRL-Xsame as "CTRL-W x"
CTRL-W_CTRL-ZCTRL-W CTRL-Zsame 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_HCTRL-W Hmove current window to the far left
CTRL-W_JCTRL-W Jmove current window to the very bottom
CTRL-W_KCTRL-W Kmove current window to the very top
CTRL-W_LCTRL-W Lmove current window to the far right
CTRL-W_PCTRL-W Pgo to preview window
CTRL-W_RCTRL-W Rrotate windows upwards N times
CTRL-W_SCTRL-W Ssame as "CTRL-W s"
CTRL-W_TCTRL-W Tmove current window to a new tabpage
CTRL-W_WCTRL-W Wgo 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_bCTRL-W bgo to bottom window
CTRL-W_cCTRL-W cclose current window (like :close)
CTRL-W_dCTRL-W dsplit window and jump to definition under the cursor
CTRL-W_fCTRL-W fsplit window and edit file name under the cursor
CTRL-W_FCTRL-W Fsplit 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_gfCTRL-W g fedit file name under the cursor in a new tabpage
CTRL-W_gFCTRL-W g Fedit file name under the cursor in a new tabpage and jump to the line number following the file name.
CTRL-W_gtCTRL-W g tsame as gt: go to next tabpage
CTRL-W_gTCTRL-W g Tsame as gT: go to previous tabpage
CTRL-W_g<Tab>CTRL-W g <Tab>same as g<Tab>: go to last accessed tab page
CTRL-W_hCTRL-W hgo to Nth left window (stop at first window)
CTRL-W_iCTRL-W isplit window and jump to declaration of identifier under the cursor
CTRL-W_jCTRL-W jgo N windows down (stop at last window)
CTRL-W_kCTRL-W kgo N windows up (stop at first window)
CTRL-W_lCTRL-W lgo to Nth right window (stop at last window)
CTRL-W_nCTRL-W nopen new window, N lines high
CTRL-W_oCTRL-W oclose all but current window (like :only)
CTRL-W_pCTRL-W pgo to previous (last accessed) window
CTRL-W_qCTRL-W qquit current window (like :quit)
CTRL-W_rCTRL-W rrotate windows downwards N times
CTRL-W_sCTRL-W ssplit current window in two parts, new window N lines high
CTRL-W_tCTRL-W tgo to top window
CTRL-W_vCTRL-W vsplit current window vertically, new window N columns wide
CTRL-W_wCTRL-W wgo to N next window (wrap around)
CTRL-W_xCTRL-W xexchange current window with window N (default: next window)
CTRL-W_zCTRL-W zclose preview window
CTRL-W_barCTRL-W |set window width to N columns
CTRL-W_}CTRL-W }show tag under cursor in preview window
CTRL-W_<Down>CTRL-W <Down>same as "CTRL-W j"
CTRL-W_<Up>CTRL-W <Up>same as "CTRL-W k"
CTRL-W_<Left>CTRL-W <Left>same as "CTRL-W h"
CTRL-W_<Right> CTRL-W <Right>same as "CTRL-W l"

2.3 Square bracket commands [ ]

TagCharNote Normal-mode action
[_CTRL-D[ CTRL-Djump 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-Ijump 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
[C[C1 jump to N previous multicursor
[D[Dlist all defines found in current and included files matching the word under the cursor, start searching at beginning of current file
[I[Ilist all lines found in current and included files that contain the word under the cursor, start searching at beginning of current file
[P[P2 same as "[p"
[[[[1 cursor N sections backward
[][]1 cursor N SECTIONS backward
[c[c1 cursor N times backwards to start of change
[d[dshow first #define found in current and included files matching the word under the cursor, start searching at beginning of current file
[f[fsame as "gf"
[i[ishow first line found in current and included files that contains the word under the cursor, start searching at beginning of current file
[m[m1 cursor N times back to start of member function
[p[p2 like "P", but adjust indent to current line
[s[s1 move to the previous misspelled word
[z[z1 move to start of open fold
[{[{1 cursor N times back to unmatched '{'
[<MiddleMouse> [<MiddleMouse>2 same as "[p"
]_CTRL-D] CTRL-Djump to first #define found in current and included files matching the word under the cursor, start searching at cursor position
]_CTRL-I] CTRL-Ijump 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
]C]C1 jump to N next multicursor
]D]Dlist all #defines found in current and included files matching the word under the cursor, start searching at cursor position
]I]Ilist all lines found in current and included files that contain the word under the cursor, start searching at cursor position
]P]P2 same as "[p"
][][1 cursor N SECTIONS forward
]]]]1 cursor N sections forward
]c]c1 cursor N times forward to start of change
]d]dshow first #define found in current and included files matching the word under the cursor, start searching at cursor position
]f]fsame as "gf"
]i]ishow first line found in current and included files that contains the word under the cursor, start searching at cursor position
]m]m1 cursor N times forward to end of member function
]p]p2 like "p", but adjust indent to current line
]s]s1 move to next misspelled word
]z]z1 move to end of open fold
]}]}1 cursor N times forward to unmatched '}'
]<MiddleMouse> ]<MiddleMouse>2 same as "]p"

2.4 Commands starting with 'g' g

TagCharNote Normal-mode action
g_CTRL-Ag CTRL-Ainsert an ascending number at each multicursor ("counter")
g_CTRL-Gg CTRL-Gshow information about current cursor position
g_CTRL-Hg CTRL-Hstart 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
gstarg*1 like "*", but without using "\<" and "\>"
g+g+go to newer text state N times
g,g,1 go to N newer position in change list
g-g-go to older text state N times
g0g01 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
g8g8print hex value of bytes used in UTF-8 character under the cursor
g;g;1 go to N older position in change list
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
gDgD1 go to definition of word under the cursor in current file
gEgE1 go backwards to the end of the previous WORD
gHgHstart Select line mode
gIgI2 like "I", but always start in column 1
gJgJ2 join lines without inserting space
gNgN1,2 find the previous match with the last used search pattern and Visually select it
gP["x]gP2 put the text [from register x] before the cursor N times, leave the cursor after it
gRgR2 enter Virtual Replace mode
gTgTgo to the previous tabpage
gUgU{motion}2 make Nmove text uppercase
gVgVdon'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
g_g_1 cursor to the last CHAR N - 1 lines lower
gagaprint ascii value of character under the cursor
gdgd1 go to definition of word under the cursor in current function
gege1 go backwards to the end of the previous word
gfgfstart editing the file whose name is under the cursor
gFgFstart editing the file whose name is under the cursor and jump to the line number following the filename.
gggg1 cursor to line N, default first line
ghghstart Select mode
gigi2 like "i", but first move to the '^ mark
gjgj1 like "j", but when 'wrap' on go N screen lines down
gkgk1 like "k", but when 'wrap' on go N screen lines up
gmgm1 go to character at middle of the screenline
gMgM1 go to character at middle of the text line
gngn1,2 find the next match with the last used search pattern and Visually select it
gogo1 cursor to byte N in the buffer
gp["x]gp2 put the text [from register x] after the cursor N times, leave the cursor after it
gqgq{motion}2 format Nmove text
grgr{char}2 virtual replace N chars with {char}
gsgsgo to sleep for N seconds (default 1)
gtgtgo to the next tabpage
gugu{motion}2 make Nmove text lowercase
gvgvreselect the previous Visual area
gwgw{motion}2 format Nmove text and keep cursor
gxgxexecute application for filepath at cursor
g@g@{motion}call 'operatorfunc'
g~g~{motion}2 swap case for Nmove text
g<Down>g<Down>1 same as "gj"
g<End>g<End>1 same as "g$" but go to the rightmost non-blank character instead
g<Home>g<Home>1 same as "g0"
g<LeftMouse>g<LeftMouse>":tag" on the keyword at mouse-click
 g<MiddleMouse>same as <C-MiddleMouse>
g<RightMouse>g<RightMouse>same as <C-RightMouse>
g<Tab>g<Tab>go to last accessed tabpage
g<Up>g<Up>1 same as "gk"

2.5 Commands starting with 'z' z

TagCharNote Normal-mode action
z<CR>z<CR>redraw, cursor line to top of window, cursor on first non-blank
zN<CR>z{height}<CR>redraw, make window {height} lines high
z+z+cursor on line N (default line below window), otherwise like "z<CR>"
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
zAzAopen a closed fold or close an open fold recursively
zCzCclose folds recursively
zDzDdelete folds recursively
zEzEeliminate all folds
zFzFcreate a fold for N lines
zGzGtemporarily mark word as correctly spelled
zHzHwhen 'wrap' off scroll half a screenwidth to the right
zLzLwhen 'wrap' off scroll half a screenwidth to the left
zMzMset 'foldlevel' to zero
zNzNset 'foldenable'
zOzOopen folds recursively
zRzRset 'foldlevel' to the deepest fold
zWzWtemporarily mark word as incorrectly spelled
zXzXre-apply 'foldlevel'
z^z^cursor on line N (default line above window), otherwise like "z-"
zazaopen a closed fold, close an open fold
zbzbredraw, cursor line at bottom of window
zczcclose a fold
zdzddelete a fold
zezewhen 'wrap' off scroll horizontally to position the cursor at the end (right side) of the screen
zfzf{motion}create a fold for Nmove text
zgzgpermanently mark word as correctly spelled
zhzhwhen 'wrap' off scroll screen N characters to the right
zizitoggle 'foldenable'
zjzj1 move to the start of the next fold
zkzk1 move to the end of the previous fold
zlzlwhen 'wrap' off scroll screen N characters to the left
zmzmsubtract one from 'foldlevel'
znznreset 'foldenable'
zozoopen fold
zpzppaste in block-mode without trailing spaces
zPzPpaste in block-mode without trailing spaces
zrzradd one to 'foldlevel'
zszswhen 'wrap' off scroll horizontally to position the cursor at the start (left side) of the screen
ztztredraw, cursor line at top of window
zuwzuwundo zw
zugzugundo zg
zuWzuWundo zW
zuGzuGundo zG
zvzvopen enough folds to view the cursor line
zwzwpermanently mark word as incorrectly spelled
zxzxre-apply 'foldlevel' and do "zv"
zyzyyank without trailing spaces
zzzzredraw, cursor line at center of window
z<Left>z<Left>same as "zh"
z<Right>z<Right>same as "zl"

2.6 Operator-pending mode operator-pending-index

These can be used after an operator, but before a {motion} has been entered.
TagCharOperator-pending-mode action
o_vvforce operator to work charwise
o_VVforce operator to work linewise
o_CTRL-VCTRL-Vforce operator to work blockwise

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.
TagCommandNote Visual-mode action
v_CTRL-\_CTRL-N CTRL-\ CTRL-Nstop Visual mode
v_CTRL-\_CTRL-G CTRL-\ CTRL-Ggo to Normal mode
v_CTRL-ACTRL-A2 add N to number in highlighted text
v_CTRL-CCTRL-Cstop Visual mode
v_CTRL-GCTRL-Gtoggle between Visual mode and Select mode
v_<BS><BS>2 Select mode: delete highlighted area
v_CTRL-HCTRL-H2 same as <BS>
v_CTRL-OCTRL-Oswitch from Select to Visual mode for one command
v_CTRL-VCTRL-Vmake Visual mode blockwise or stop Visual mode
v_CTRL-XCTRL-X2 subtract N from number in highlighted text
v_<Esc><Esc>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_AA2 block mode: append same text in all lines, after the highlighted area
v_CC2 delete the highlighted lines and start insert
v_DD2 delete the highlighted lines
v_b_II2 block mode: insert same text in all lines, before the highlighted area
v_JJ2 join the highlighted lines
v_KKrun 'keywordprg' on the highlighted area
v_OOmove horizontally to other corner of area
v_PPreplace highlighted area with register contents; registers are unchanged
v_RR2 delete the highlighted lines and start insert
v_SS2 delete the highlighted lines and start insert
v_UU2 make highlighted area uppercase
v_VVmake Visual mode linewise or stop Visual mode
v_XX2 delete the highlighted lines
v_YYyank the highlighted lines
v_aquotea"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_aBaBextend highlighted area with a {} block
v_aWaWextend 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_ababextend highlighted area with a () block
v_alalextend highlighted area to all lines
v_apapextend highlighted area with a paragraph
v_asasextend highlighted area with a sentence
v_atatextend highlighted area with a tag block
v_awawextend highlighted area with "a word"
v_a{a{same as aB
v_a}a}same as aB
v_cc2 delete highlighted area and start insert
v_dd2 delete highlighted area
v_g_CTRL-Ag CTRL-A2 add N to number in highlighted text
v_g_CTRL-Xg CTRL-X2 subtract N from number in highlighted text
v_gJgJ2 join the highlighted lines without inserting spaces
v_gqgq2 format the highlighted lines
v_gvgvexchange current and previous highlighted area
v_iquotei"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_iBiBextend highlighted area with inner {} block
v_iWiWextend 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_ibibextend highlighted area with inner () block
v_ililselect inner line under cursor
v_ipipextend highlighted area with inner paragraph
v_isisextend highlighted area with inner sentence
v_ititextend highlighted area with inner tag block
v_iwiwextend highlighted area with "inner word"
v_i{i{same as iB
v_i}i}same as iB
v_oomove cursor to other corner of area
v_ppreplace highlighted area with register contents; deleted text in unnamed register
v_rr2 replace highlighted area with a character
v_ss2 delete highlighted area and start insert
v_uu2 make highlighted area lowercase
v_vvmake Visual mode charwise or stop Visual mode
v_xx2 delete the highlighted area
v_yyyank 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.
TagCommandCommand-line editing-mode action
 CTRL-@not used
c_CTRL-ACTRL-Ado completion on the pattern in front of the cursor and insert all matches
c_CTRL-BCTRL-Bcursor to begin of command-line
c_CTRL-CCTRL-Csame as <Esc>
c_CTRL-DCTRL-Dlist completions that match the pattern in front of the cursor
c_CTRL-ECTRL-Ecursor to end of command-line
'cedit'CTRL-Fdefault value for 'cedit': opens the command-line window; otherwise not used
c_CTRL-GCTRL-Gnext match when 'incsearch' is active
c_<BS><BS>delete the character in front of the cursor
c_digraph{char1} <BS> {char2} enter digraph when 'digraph' is on
c_CTRL-HCTRL-Hsame as <BS>
c_<Tab><Tab>if 'wildchar' is <Tab>: Do completion on the pattern in front of the cursor
c_<S-Tab><S-Tab>same as CTRL-P
c_wildchar'wildchar'Do completion on the pattern in front of the cursor (default: <Tab>)
c_CTRL-ICTRL-Isame as <Tab>
c_<NL><NL>same as <CR>
c_CTRL-JCTRL-Jsame as <CR>
c_CTRL-KCTRL-K {char1} {char2} enter digraph
c_CTRL-LCTRL-Ldo completion on the pattern in front of the cursor and insert the longest common part
c_<CR><CR>execute entered command
c_CTRL-MCTRL-Msame as <CR>
c_CTRL-NCTRL-Nafter using 'wildchar' with multiple matches: go to next match, otherwise: recall older command-line from history.
 CTRL-Onot used
c_CTRL-PCTRL-Pafter using 'wildchar' with multiple matches: go to previous match, otherwise: recall older command-line from history.
c_CTRL-QCTRL-Qsame as CTRL-V, unless it's used for terminal control flow
c_CTRL-RCTRL-R {regname} insert the contents of a register or object under the cursor as if typedc_CTRL-R_CTRL-R CTRL-R CTRL-R {regname}c_CTRL-R_CTRL-O CTRL-R CTRL-O {regname} insert the contents of a register or object under the cursor literally
 CTRL-Snot used, or used for terminal control flow
c_CTRL-TCTRL-Tprevious match when 'incsearch' is active
c_CTRL-UCTRL-Uremove all characters between the cursor and beginning of command-line
c_CTRL-VCTRL-Vinsert next non-digit literally, insert three digit decimal number as a single byte.
c_CTRL-WCTRL-Wdelete the word in front of the cursor
 CTRL-Xnot used (reserved for completion)
 CTRL-Ycopy (yank) modeless selection
 CTRL-Znot used (reserved for suspend)
c_<Esc><Esc>abandon command-line without executing it
c_CTRL-[CTRL-[same as <Esc>
c_CTRL-\_CTRL-N CTRL-\ CTRL-Ngo to Normal mode, abandon command-line
c_CTRL-\_CTRL-G CTRL-\ CTRL-Ggo to Normal mode, abandon command-line
 CTRL-\ a - dreserved for extensions
c_CTRL-\_eCTRL-\ e {expr} replace the command line with the result of {expr}
 CTRL-\ f - zreserved for extensions
 CTRL-\ othersnot used
c_CTRL-]CTRL-]trigger abbreviation
c_CTRL-^CTRL-^toggle use of :lmap mappings
c_<Del><Del>delete the character under the cursor
c_<Left><Left>cursor left
c_<S-Left><S-Left>cursor one word left
c_<C-Left><C-Left>cursor one word left
c_<Right><Right>cursor right
c_<S-Right><S-Right>cursor one word right
c_<C-Right><C-Right>cursor one word right
c_<Up><Up>recall previous command-line from history that matches pattern in front of the cursor
c_<S-Up><S-Up>recall previous command-line from history
c_<Down><Down>recall next command-line from history that matches pattern in front of the cursor
c_<S-Down><S-Down>recall next command-line from history
c_<Home><Home>cursor to start of command-line
c_<End><End>cursor to end of command-line
c_<PageDown><PageDown>same as <S-Down>
c_<PageUp><PageUp>same as <S-Up>
c_<Insert><Insert>toggle insert/overstrike mode
c_<LeftMouse><LeftMouse>cursor at mouse click
commands in wildmenu mode (see 'wildmenu')
CharWildmenu action
<Up>move up to parent
<Down>move down to submenu
<Left>select the previous match
<Right>select the next match
<CR>move into submenu when doing menu completion
CTRL-Estop completion and go back to original text
CTRL-Yaccept selected match and stop completion
otherstop completion and insert the typed character
commands in wildmenu mode with 'wildoptions' set to "pum"
CharWildmenu action
<PageUp>select a match several entries back
<PageDown>select a match several entries forward

5. Terminal mode terminal-mode-index

In a terminal buffer all keys except CTRL-\ are forwarded to the terminal job. If CTRL-\ is pressed, the next key is forwarded unless it is CTRL-N or CTRL-O. Use CTRL-\_CTRL-N to go to Normal mode. Use t_CTRL-\_CTRL-O to execute one normal mode command and then return to terminal mode.
You found it, Arthur! holy-grail
This is a brief but complete listing of all the ":" commands, without mentioning any arguments. The optional part of the command name is inside []. The commands are sorted on the non-optional part of their name.
TagCommandAction
::nothing
:range:{range}go to last line in {range}
:!:!filter lines or execute an external command
:!!:!!repeat last ":!" command
:#:#same as ":number"
:&:&repeat last ":substitute"
:star:*use the last Visual area, like ":'<,'>"
:<:<shift lines one 'shiftwidth' left
:=:=print the last line number
:>:>shift lines one 'shiftwidth' right
:@:@execute contents of a register
:@@:@@repeat the previous ":@"
:2match:2mat[ch]define a second match to highlight
:3match:3mat[ch]define a third match to highlight
:Next:N[ext]go to previous file in the argument list
:append:a[ppend]append text
:abbreviate:ab[breviate]enter abbreviation
:abclear:abc[lear]remove all abbreviations
:aboveleft:abo[veleft]make split window appear left or above
:all:al[l]open a window for each file in the argument list
:amenu:am[enu]enter new menu item for all modes
:anoremenu:an[oremenu]enter a new menu for all modes that will not be remapped
:args:ar[gs]print the argument list
:argadd:arga[dd]add items to the argument list
:argdedupe:argded[upe]remove duplicates from the argument list
:argdelete:argd[elete]delete items from the argument list
:argedit:arge[dit]add item to the argument list and edit it
:argdo:argdodo a command on all items in the argument list
:argglobal:argg[lobal]define the global argument list
:arglocal:argl[ocal]define a local argument list
:argument:argu[ment]go to specific file in the argument list
:ascii:as[cii]print ascii value of character under the cursor
:autocmd:au[tocmd]enter or show autocommands
:augroup:aug[roup]select the autocommand group to use
:aunmenu:aun[menu]remove menu for all modes
:buffer:b[uffer]go to specific buffer in the buffer list
:bNext:bN[ext]go to previous buffer in the buffer list
:ball:ba[ll]open a window for each buffer in the buffer list
:badd:bad[d]add buffer to the buffer list
:balt:baltlike ":badd" but also set the alternate file
:bcd:bc[d]change directory for buffer
:bchdir:bch[dir]change directory for buffer
:bdelete:bd[elete]remove a buffer from the buffer list
:belowright:bel[owright]make split window appear right or below
:bfirst:bf[irst]go to first buffer in the buffer list
:blast:bl[ast]go to last buffer in the buffer list
:bmodified:bm[odified]go to next buffer in the buffer list that has been modified
:bnext:bn[ext]go to next buffer in the buffer list
:botright:bo[tright]make split window appear at bottom or far right
:bprevious:bp[revious]go to previous buffer in the buffer list
:brewind:br[ewind]go to first buffer in the buffer list
:break:brea[k]break out of while loop
:breakadd:breaka[dd]add a debugger breakpoint
:breakdel:breakd[el]delete a debugger breakpoint
:breaklist:breakl[ist]list debugger breakpoints
:browse:bro[wse]use file selection dialog
:bufdo:bufd[o]execute command in each listed buffer
:buffers:bufferslist all files in the buffer list
:bunload:bun[load]unload a specific buffer
:bwipeout:bw[ipeout]really delete a buffer
:change:c[hange]replace a line or series of lines
:cNext:cN[ext]go to previous error
:cNfile:cNf[ile]go to last error in previous file
:cabbrev:ca[bbrev]like ":abbreviate" but for Command-line mode
:cabclear:cabc[lear]clear all abbreviations for Command-line mode
:cabove:cabo[ve]go to error above current line
:caddbuffer:cad[dbuffer]add errors from buffer
:caddexpr:cadde[xpr]add errors from expr
:caddfile:caddf[ile]add error message to current quickfix list
:cafter:caf[ter]go to error after current cursor
:call:cal[l]call a function
:catch:cat[ch]part of a :try command
:cbefore:cbe[fore]go to error before current cursor
:cbelow:cbel[ow]go to error below current line
:cbottom:cbo[ttom]scroll to the bottom of the quickfix window
:cbuffer:cb[uffer]parse error messages and jump to first error
:cc:ccgo to specific error
:cclose:ccl[ose]close quickfix window
:cd:cdchange directory
:cdo:cdoexecute command in each valid error list entry
:cfdo:cfd[o]execute command in each file in error list
:center:ce[nter]format lines at the center
:cexpr:cex[pr]read errors from expr and jump to first
:cfile:cf[ile]read file with error messages and jump to first
:cfirst:cfir[st]go to the specified error, default first one
:cgetbuffer:cgetb[uffer]get errors from buffer
:cgetexpr:cgete[xpr]get errors from expr
:cgetfile:cg[etfile]read file with error messages
:changes:changesprint the change list
:chdir:chd[ir]change directory
:checkhealth:che[ckhealth]run healthchecks
:checkpath:checkp[ath]list included files
:checktime:checkt[ime]check timestamp of loaded buffers
:chistory:chi[story]list the error lists
:clast:cla[st]go to the specified error, default last one
:clearjumps:cle[arjumps]clear the jump list
:clist:cl[ist]list all errors
:close:clo[se]close current window
:cmap:cm[ap]like ":map" but for Command-line mode
:cmapclear:cmapc[lear]clear all mappings for Command-line mode
:cmenu:cme[nu]add menu for Command-line mode
:cnext:cn[ext]go to next error
:cnewer:cnew[er]go to newer error list
:cnfile:cnf[ile]go to first error in next file
:cnoremap:cno[remap]like ":noremap" but for Command-line mode
:cnoreabbrev:cnorea[bbrev]like ":noreabbrev" but for Command-line mode
:cnoremenu:cnoreme[nu]like ":noremenu" but for Command-line mode
:copy:co[py]copy lines
:colder:col[der]go to older error list
:colorscheme:colo[rscheme]load a specific color scheme
:command:com[mand]create user-defined command
:comclear:comc[lear]clear all user-defined commands
:compiler:comp[iler]do settings for a specific compiler
:continue:con[tinue]go back to :while
:confirm:conf[irm]prompt user when confirmation required
:const:cons[t]create a variable as a constant
:copen:cope[n]open quickfix window
:cprevious:cp[revious]go to previous error
:cpfile:cpf[ile]go to last error in previous file
:cquit:cq[uit]quit Vim with an error code
:crewind:cr[ewind]go to the specified error, default first one
:cunmap:cu[nmap]like ":unmap" but for Command-line mode
:cunabbrev:cuna[bbrev]like ":unabbrev" but for Command-line mode
:cunmenu:cunme[nu]remove menu for Command-line mode
:cwindow:cw[indow]open or close quickfix window
:delete:d[elete]delete lines
:debug:deb[ug]run a command in debugging mode
:debuggreedy:debugg[reedy]read debug mode commands from normal input
:defer:defe[r]call function when current function is done
:delcommand:delc[ommand]delete user-defined command
:delfunction:delf[unction]delete a user function
:delmarks:delm[arks]delete marks
:detach:detachdetach the current UI
:diffupdate:dif[fupdate]update 'diff' buffers
:diffget:diffg[et]remove differences in current buffer
:diffoff:diffo[ff]switch off diff mode
:diffpatch:diffp[atch]apply a patch and show differences
:diffput:diffpu[t]remove differences in other buffer
:diffsplit:diffs[plit]show differences with another file
:diffthis:difft[his]make current window a diff window
:digraphs:dig[raphs]show or enter digraphs
:display:di[splay]display registers
:djump:dj[ump]jump to #define
:dl:dlshort for :delete with the 'l' flag
:dlist:dli[st]list #defines
:doautocmd:do[autocmd]apply autocommands to current buffer
:doautoall:doautoa[ll]apply autocommands for all loaded buffers
:dp:d[elete]pshort for :delete with the 'p' flag
:drop:dr[op]jump to window editing file or edit file in current window
:dsearch:ds[earch]list one #define
:dsplit:dsp[lit]split window and jump to #define
:edit:e[dit]edit a file
:earlier:ea[rlier]go to older change, undo
:echo:ec[ho]echoes the result of expressions
:echoerr:echoe[rr]like :echo, show like an error and use history
:echohl:echoh[l]set highlighting for echo commands
:echomsg:echom[sg]same as :echo, put message in history
:echon:echonsame as :echo, but without <EOL>
:else:el[se]part of an :if command
:elseif:elsei[f]part of an :if command
:emenu:em[enu]execute a menu by name
:endif:en[dif]end previous :if
:endfor:endfo[r]end previous :for
:endfunction:endf[unction]end of a user function started with :function
:endtry:endt[ry]end previous :try
:endwhile:endw[hile]end previous :while
:enew:ene[w]edit a new, unnamed buffer
:eval:ev[al]evaluate an expression and discard the result
:ex:exsame as ":edit"
:execute:exe[cute]execute result of expressions
:exit:exi[t]same as ":xit"
:exmode:exm[ode]switch to Ex-mode
:exusage:exu[sage]overview of Ex commands
:fclose:fc[lose]close floating window
:file:f[ile]show or set the current file name
:files:fileslist all files in the buffer list
:filetype:filet[ype]switch file type detection on/off
:filter:filt[er]filter output of following command
:find:fin[d]find file in 'path' and edit it
:finally:fina[lly]part of a :try command
:finish:fini[sh]quit sourcing a Vim script
:first:fir[st]go to the first file in the argument list
:fold:fo[ld]create a fold
:foldclose:foldc[lose]close folds
:folddoopen:foldd[oopen]execute command on lines not in a closed fold
:folddoclosed:folddoc[losed]execute command on lines in a closed fold
:foldopen:foldo[pen]open folds
:for:forfor loop
:function:fu[nction]define a user function
:global:g[lobal]execute commands for matching lines
:goto:go[to]go to byte in the buffer
:grep:gr[ep]run 'grepprg' and jump to first match
:grepadd:grepa[dd]like :grep, but append to current list
:gui:gu[i]start the GUI
:gvim:gv[im]start the GUI
:help:h[elp]open a help window
:helpclose:helpc[lose]close one help window
:helpgrep:helpg[rep]like ":grep" but searches help files
:helptags:helpt[ags]generate help tags for a directory
:highlight:hi[ghlight]specify highlighting methods
:hide:hid[e]hide current buffer for a command
:history:his[tory]print a history list
:horizontal:hor[izontal]following window command work horizontally
:insert:i[nsert]insert text
:iabbrev:ia[bbrev]like ":abbrev" but for Insert mode
:iabclear:iabc[lear]like ":abclear" but for Insert mode
:if:ifexecute commands when condition met
:ijump:ij[ump]jump to definition of identifier
:ilist:il[ist]list lines where identifier matches
:imap:im[ap]like ":map" but for Insert mode
:imapclear:imapc[lear]like ":mapclear" but for Insert mode
:imenu:ime[nu]add menu for Insert mode
:inoremap:ino[remap]like ":noremap" but for Insert mode
:inoreabbrev:inorea[bbrev]like ":noreabbrev" but for Insert mode
:inoremenu:inoreme[nu]like ":noremenu" but for Insert mode
:intro:int[ro]print the introductory message
:iput:ip[ut]like :put, but adjust the indent to the current line
:isearch:is[earch]list one line where identifier matches
:isplit:isp[lit]split window and jump to definition of identifier
:iunmap:iu[nmap]like ":unmap" but for Insert mode
:iunabbrev:iuna[bbrev]like ":unabbrev" but for Insert mode
:iunmenu:iunme[nu]remove menu for Insert mode
:join:j[oin]join lines
:jumps:ju[mps]print the jump list
:k:kset a mark
:keepalt:keepa[lt]following command keeps the alternate file
:keepmarks:kee[pmarks]following command keeps marks where they are
:keepjumps:keepj[umps]following command keeps jumplist and marks
:keeppatterns:keepp[atterns]following command keeps search pattern history
:lNext:lN[ext]go to previous entry in location list
:lNfile:lNf[ile]go to last entry in previous file
:list:l[ist]print lines
:labove:lab[ove]go to location above current line
:laddexpr:lad[dexpr]add locations from expr
:laddbuffer:laddb[uffer]add locations from buffer
:laddfile:laddf[ile]add locations to current location list
:lafter:laf[ter]go to location after current cursor
:last:la[st]go to the last file in the argument list
:language:lan[guage]set the language (locale)
:later:lat[er]go to newer change, redo
:lbefore:lbe[fore]go to location before current cursor
:lbelow:lbel[ow]go to location below current line
:lbottom:lbo[ttom]scroll to the bottom of the location window
:lbuffer:lb[uffer]parse locations and jump to first location
:lcd:lc[d]change directory locally
:lchdir:lch[dir]change directory locally
:lclose:lcl[ose]close location window
:ldo:ld[o]execute command in valid location list entries
:lfdo:lfd[o]execute command in each file in location list
:left:le[ft]left align lines
:leftabove:lefta[bove]make split window appear left or above
:let:letassign a value to a variable or option
:lexpr:lex[pr]read locations from expr and jump to first
:lfile:lf[ile]read file with locations and jump to first
:lfirst:lfir[st]go to the specified location, default first one
:lgetbuffer:lgetb[uffer]get locations from buffer
:lgetexpr:lgete[xpr]get locations from expr
:lgetfile:lg[etfile]read file with locations
:lgrep:lgr[ep]run 'grepprg' and jump to first match
:lgrepadd:lgrepa[dd]like :grep, but append to current list
:lhelpgrep:lh[elpgrep]like ":helpgrep" but uses location list
:lhistory:lhi[story]list the location lists
:ll:llgo to specific location
:llast:lla[st]go to the specified location, default last one
:llist:lli[st]list all locations
:lmake:lmak[e]execute external command 'makeprg' and parse error messages
:lmap:lm[ap]like ":map!" but includes Lang-Arg mode
:lmapclear:lmapc[lear]like ":mapclear!" but includes Lang-Arg mode
:lnext:lne[xt]go to next location
:lnewer:lnew[er]go to newer location list
:lnfile:lnf[ile]go to first location in next file
:lnoremap:ln[oremap]like ":noremap!" but includes Lang-Arg mode
:loadkeymap:loadk[eymap]load the following keymaps until EOF
:loadview:lo[adview]load view for current window from a file
:lockmarks:loc[kmarks]following command keeps marks where they are
:lockvar:lockv[ar]lock variables
:log:logview a log file
:lolder:lol[der]go to older location list
:lopen:lop[en]open location window
:lprevious:lp[revious]go to previous location
:lpfile:lpf[ile]go to last location in previous file
:lrewind:lr[ewind]go to the specified location, default first one
:ls:lslist all buffers
:lsp:lsplanguage server protocol
:ltag:lt[ag]jump to tag and add matching tags to the location list
:lunmap:lu[nmap]like ":unmap!" but includes Lang-Arg mode
:lua:luaexecute Lua command
:luado:luad[o]execute Lua command for each line
:luafile:luaf[ile]execute Lua script file
:lvimgrep:lv[imgrep]search for pattern in files
:lvimgrepadd:lvimgrepa[dd]like :vimgrep, but append to current list
:lwindow:lw[indow]open or close location window
:move:m[ove]move lines
:mark:ma[rk]set a mark
:make:mak[e]execute external command 'makeprg' and parse error messages
:map:mapshow or enter a mapping
:mapclear:mapc[lear]clear all mappings for Normal and Visual mode
:marks:markslist all marks
:match:mat[ch]define a match to highlight
:menu:me[nu]enter a new menu item:menutranslate :menut[ranslate] add a menu translation item
:messages:mes[sages]view previously displayed messages
:mkexrc:mk[exrc]write current mappings and settings to a file
:mksession:mks[ession]write session info to a file
:mkspell:mksp[ell]produce .spl spell file
:mkvimrc:mkv[imrc]write current mappings and settings to a file
:mkview:mkvie[w]write view of current window to a file
:mode:mod[e]show or change the screen mode
:next:n[ext]go to next file in the argument list
:new:newcreate a new empty window
:nmap:nm[ap]like ":map" but for Normal mode
:nmapclear:nmapc[lear]clear all mappings for Normal mode
:nmenu:nme[nu]add menu for Normal mode
:nnoremap:nn[oremap]like ":noremap" but for Normal mode
:nnoremenu:nnoreme[nu]like ":noremenu" but for Normal mode
:noautocmd:noa[utocmd]following commands don't trigger autocommands
:noremap:no[remap]enter a mapping that will not be remapped
:nohlsearch:noh[lsearch]suspend 'hlsearch' highlighting
:noreabbrev:norea[bbrev]enter an abbreviation that will not be remapped
:noremenu:noreme[nu]enter a menu that will not be remapped
:normal:norm[al]execute Normal mode commands
:noswapfile:nos[wapfile]following commands don't create a swap file
:number:nu[mber]print lines with line number
:nunmap:nun[map]like ":unmap" but for Normal mode
:nunmenu:nunme[nu]remove menu for Normal mode
:oldfiles:ol[dfiles]list files that have marks in the shada file
:omap:om[ap]like ":map" but for Operator-pending mode
:omapclear:omapc[lear]remove all mappings for Operator-pending mode
:omenu:ome[nu]add menu for Operator-pending mode
:only:on[ly]close all windows except the current one
:onoremap:ono[remap]like ":noremap" but for Operator-pending mode
:onoremenu:onoreme[nu]like ":noremenu" but for Operator-pending mode
:options:opt[ions]open the options-window
:ounmap:ou[nmap]like ":unmap" but for Operator-pending mode
:ounmenu:ounme[nu]remove menu for Operator-pending mode
:packadd:pa[ckadd]add a plugin from 'packpath'
:packdel:packd[el]remove vim.pack plugins
:packloadall:packl[oadall]load all packages under 'packpath'
:packupdate:packu[pdate]update vim.pack plugins
:pbuffer:pb[uffer]edit buffer in the preview window
:pclose:pc[lose]close preview window
:pedit:ped[it]edit file in the preview window
:perl:pe[rl]execute perl command
:perldo:perld[o]execute perl command for each line
:perlfile:perlf[ile]execute perl script file
:print:p[rint]print lines
:profdel:profd[el]stop profiling a function or script
:profile:prof[ile]profiling functions and scripts
:pop:po[p]jump to older entry in tag stack
:popup:popu[p]popup a menu by name
:ppop:pp[op]":pop" in preview window
:preserve:pre[serve]write all text to swap file
:previous:prev[ious]go to previous file in argument list
:psearch:ps[earch]like ":ijump" but shows match in preview window
:ptag:pt[ag]show tag in preview window
:ptNext:ptN[ext]:tNext in preview window
:ptfirst:ptf[irst]:trewind in preview window
:ptjump:ptj[ump]:tjump and show tag in preview window
:ptlast:ptl[ast]:tlast in preview window
:ptnext:ptn[ext]:tnext in preview window
:ptprevious:ptp[revious]:tprevious in preview window
:ptrewind:ptr[ewind]:trewind in preview window
:ptselect:pts[elect]:tselect and show tag in preview window
:put:pu[t]insert contents of register in the text
:pwd:pw[d]print current directory
:py3:py3execute Python 3 command
:python3:python3same as :py3
:py3do:py3d[o]execute Python 3 command for each line
:py3file:py3f[ile]execute Python 3 script file
:python:py[thon]execute Python command
:pydo:pyd[o]execute Python command for each line
:pyfile:pyf[ile]execute Python script file
:pyx:pyxexecute python_x command
:pythonx:pythonxsame as :pyx
:pyxdo:pyxd[o]execute python_x command for each line
:pyxfile:pyxf[ile]execute python_x script file
:quit:q[uit]quit current window (when one window quit Vim)
:quitall:quita[ll]quit Vim
:qall:qa[ll]quit Vim
:read:r[ead]read file into the text
:recover:rec[over]recover a file from a swap file
:redo:red[o]redo one undone change
:redir:redi[r]redirect messages to a file or register
:redraw:redr[aw]force a redraw of the display
:redrawstatus:redraws[tatus]force a redraw of the status line(s) and window bar(s):redrawtabline :redrawt[abline] force a redraw of the tabline
:registers:reg[isters]display the contents of registers
:resize:res[ize]change current window height
:restart:restartrestart the Nvim server
:retab:ret[ab]change tab size
:return:retu[rn]return from a user function
:rewind:rew[ind]go to the first file in the argument list
:right:ri[ght]right align text
:rightbelow:rightb[elow]make split window appear right or below
:rshada:rsh[ada]read from shada file
:ruby:rub[y]execute Ruby command
:rubydo:rubyd[o]execute Ruby command for each line
:rubyfile:rubyf[ile]execute Ruby script file
:rundo:rund[o]read undo information from a file
:runtime:ru[ntime]source vim scripts in 'runtimepath'
:substitute:s[ubstitute]find and replace text
:sNext:sN[ext]split window and go to previous file in argument list
:sandbox:san[dbox]execute a command in the sandbox
:sargument:sa[rgument]split window and go to specific file in argument list
:sall:sal[l]open a window for each file in argument list
:saveas:sav[eas]save file under another name.
:sbuffer:sb[uffer]split window and go to specific file in the buffer list
:sbNext:sbN[ext]split window and go to previous file in the buffer list
:sball:sba[ll]open a window for each file in the buffer list
:sbfirst:sbf[irst]split window and go to first file in the buffer list
:sblast:sbl[ast]split window and go to last file in buffer list
:sbmodified:sbm[odified]split window and go to modified file in the buffer list
:sbnext:sbn[ext]split window and go to next file in the buffer list
:sbprevious:sbp[revious]split window and go to previous file in the buffer list
:sbrewind:sbr[ewind]split window and go to first file in the buffer list
:scriptnames:scr[iptnames]list names of all sourced Vim scripts:scriptencoding :scripte[ncoding] encoding used in sourced Vim script
:set:se[t]show or set options
:setfiletype:setf[iletype]set 'filetype', unless it was set already
:setglobal:setg[lobal]show global values of options
:setlocal:setl[ocal]show or set options locally
:sfind:sf[ind]split current window and edit file in 'path'
:sfirst:sfir[st]split window and go to first file in the argument list
:sign:sig[n]manipulate signs
:silent:sil[ent]run a command silently
:sleep:sl[eep]do nothing for a few seconds
:sleep!:sl[eep]!do nothing for a few seconds, without the cursor visible
:slast:sla[st]split window and go to last file in the argument list
:smagic:sm[agic]:substitute with 'magic'
:smap:smaplike ":map" but for Select mode
:smapclear:smapc[lear]remove all mappings for Select mode
:smenu:sme[nu]add menu for Select mode
:snext:sn[ext]split window and go to next file in the argument list
:snomagic:sno[magic]:substitute with 'nomagic'
:snoremap:snor[emap]like ":noremap" but for Select mode
:snoremenu:snoreme[nu]like ":noremenu" but for Select mode
:sort:sor[t]sort lines
:source:so[urce]read Vim or Ex commands from a file
:spelldump:spelld[ump]split window and fill with all correct words
:spellgood:spe[llgood]add good word for spelling
:spellinfo:spelli[nfo]show info about loaded spell files
:spellrare:spellra[re]add rare word for spelling
:spellrepall:spellr[epall]replace all bad words like last z=
:spellundo:spellu[ndo]remove good or bad word
:spellwrong:spellw[rong]add spelling mistake
:split:sp[lit]split current window
:sprevious:spr[evious]split window and go to previous file in the argument list
:srewind:sre[wind]split window and go to first file in the argument list
:stop:st[op]suspend the editor or escape to a shell
:stag:sta[g]split window and jump to a tag
:startinsert:star[tinsert]start Insert mode:startgreplace :startg[replace] start Virtual Replace mode
:startreplace:startr[eplace]start Replace mode
:stopinsert:stopi[nsert]stop Insert mode
:stjump:stj[ump]do ":tjump" and split window
:stselect:sts[elect]do ":tselect" and split window
:sunhide:sun[hide]same as ":unhide"
:sunmap:sunm[ap]like ":unmap" but for Select mode
:sunmenu:sunme[nu]remove menu for Select mode
:suspend:sus[pend]same as ":stop"
:sview:sv[iew]split window and edit file read-only
:swapname:sw[apname]show the name of the current swap file
:syntax:sy[ntax]syntax highlighting
:syntime:synti[me]measure syntax highlighting speed
:syncbind:sync[bind]sync scroll binding
:t:tsame as ":copy"
:tNext:tN[ext]jump to previous matching tag
:tabNext:tabN[ext]go to previous tabpage
:tabclose:tabc[lose]close current tabpage
:tabdo:tabd[o]execute command in each tabpage
:tabedit:tabe[dit]edit a file in a new tabpage
:tabfind:tabf[ind]find file in 'path', edit it in a new tabpage
:tabfirst:tabfir[st]go to first tabpage
:tablast:tabl[ast]go to last tabpage
:tabmove:tabm[ove]move tabpage to other position
:tabnew:tabnewedit a file in a new tabpage
:tabnext:tabn[ext]go to next tabpage
:tabonly:tabo[nly]close all tabpages except the current one
:tabprevious:tabp[revious]go to previous tabpage
:tabrewind:tabr[ewind]go to first tabpage
:tabs:tabslist the tabpages and what they contain
:tab:tabcreate new tab when opening new window
:tag:ta[g]jump to tag
:tags:tagsshow the contents of the tag stack
:tcd:tc[d]change directory for tabpage
:tchdir:tch[dir]change directory for tabpage
:terminal:te[rminal]open a terminal buffer
:tfirst:tf[irst]jump to first matching tag
:throw:th[row]throw an exception
:tjump:tj[ump]like ":tselect", but jump directly when there is only one match
:tlast:tl[ast]jump to last matching tag
:tlmenu:tlm[enu]add menu for Terminal-mode
:tlnoremenu:tln[oremenu]like ":noremenu" but for Terminal-mode
:tlunmenu:tlu[nmenu]remove menu for Terminal-mode
:tmapclear:tmapc[lear]remove all mappings for Terminal-mode
:tmap:tma[p]like ":map" but for Terminal-mode
:tmenu:tm[enu]define menu tooltip
:tnext:tn[ext]jump to next matching tag
:tnoremap:tno[remap]like ":noremap" but for Terminal-mode
:topleft:to[pleft]make split window appear at top or far left
:tprevious:tp[revious]jump to previous matching tag
:trewind:tr[ewind]jump to first matching tag
:trust:trustadd or remove file from trust database
:try:tryexecute commands, abort on error or exception
:tselect:ts[elect]list matching tags and select one
:tunmap:tunma[p]like ":unmap" but for Terminal-mode
:tunmenu:tu[nmenu]remove menu tooltip
:undo:u[ndo]undo last change(s)
:undojoin:undoj[oin]join next change with previous undo block
:undolist:undol[ist]list leafs of the undo tree
:unabbreviate:una[bbreviate]remove abbreviation
:unhide:unh[ide]open a window for each loaded file in the buffer list
:uniq:uni[q]uniq lines
:unlet:unl[et]delete variable
:unlockvar:unlo[ckvar]unlock variables
:unmap:unm[ap]remove mapping
:unmenu:unme[nu]remove menu
:unsilent:uns[ilent]run a command not silently
:update:up[date]write buffer if modified
:uptime:upt[ime]show Nvim's uptime
:vglobal:v[global]execute commands for not matching lines
:version:ve[rsion]print version number and other info
:verbose:verb[ose]execute command with 'verbose' set
:vertical:vert[ical]make following command split vertically
:vimgrep:vim[grep]search for pattern in files
:vimgrepadd:vimgrepa[dd]like :vimgrep, but append to current list
:visual:vi[sual]same as ":edit", but turns off "Ex" mode
:viusage:viu[sage]overview of Normal mode commands
:view:vie[w]edit a file read-only
:vmap:vm[ap]like ":map" but for Visual+Select mode
:vmapclear:vmapc[lear]remove all mappings for Visual+Select mode
:vmenu:vme[nu]add menu for Visual+Select mode
:vnew:vne[w]create a new empty window, vertically split
:vnoremap:vn[oremap]like ":noremap" but for Visual+Select mode
:vnoremenu:vnoreme[nu]like ":noremenu" but for Visual+Select mode
:vsplit:vs[plit]split current window vertically
:vunmap:vu[nmap]like ":unmap" but for Visual+Select mode
:vunmenu:vunme[nu]remove menu for Visual+Select mode
:windo:wind[o]execute command in each window
:write:w[rite]write to a file
:wNext:wN[ext]write to a file and go to previous file in argument list
:wall:wa[ll]write all (changed) buffers
:while:wh[ile]execute loop for as long as condition met
:winsize:wi[nsize]get or set window size (obsolete)
:wincmd:winc[md]execute a Window (CTRL-W) command
:winpos:winp[os]get or set window position
:wnext:wn[ext]write to a file and go to next file in argument list
:wprevious:wp[revious]write to a file and go to previous file in argument list
:wq:wqwrite to a file and quit window or Vim
:wqall:wqa[ll]write all changed buffers and quit Vim
:wshada:wsh[ada]write to ShaDa file
:wundo:wu[ndo]write undo information to a file
:xit:x[it]write if buffer changed and close window
:xall:xa[ll]same as ":wqall"
:xmapclear:xmapc[lear]remove all mappings for Visual mode
:xmap:xm[ap]like ":map" but for Visual mode
:xmenu:xme[nu]add menu for Visual mode
:xnoremap:xn[oremap]like ":noremap" but for Visual mode
:xnoremenu:xnoreme[nu]like ":noremenu" but for Visual mode
:xunmap:xu[nmap]like ":unmap" but for Visual mode
:xunmenu:xunme[nu]remove menu for Visual mode
:yank:y[ank]yank lines into a register
:z:zprint some lines
:~:~repeat last ":substitute"
Main
Commands index
Quick reference