neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

quickref.txt (67259B)


      1 *quickref.txt*  Nvim
      2 
      3 
      4 	  VIM REFERENCE MANUAL	  by Bram Moolenaar
      5 
      6 ==============================================================================
      7 Quick reference guide
      8 
      9 						 *quickref* *Contents*
     10 tag	  subject			 tag	  subject	~
     11 |Q_ct|	list of help files		|Q_re|	Repeating commands
     12 |Q_lr|	motion: Left-right		|Q_km|	Key mapping
     13 |Q_ud|	motion: Up-down			|Q_ab|	Abbreviations
     14 |Q_tm|	motion: Text object		|Q_op|	Options
     15 |Q_pa|	motion: Pattern searches	|Q_ur|	Undo/Redo commands
     16 |Q_ma|	motion: Marks			|Q_et|	External commands
     17 |Q_vm|	motion: Various			|Q_qf|	Quickfix commands
     18 |Q_ta|	motion: Using tags		|Q_vc|	Various commands
     19 |Q_sc|	Scrolling			|Q_ce|	Ex: Command-line editing
     20 |Q_in|	insert: Inserting text		|Q_ra|	Ex: Ranges
     21 |Q_ai|	insert: Keys			|Q_ex|	Ex: Special characters
     22 |Q_ss|	insert: Special keys		|Q_st|	Starting Vim
     23 |Q_di|	insert: Digraphs		|Q_ed|	Editing a file
     24 |Q_si|	insert: Special inserts		|Q_fl|	Using the argument list
     25 |Q_de|	change: Deleting text		|Q_wq|	Writing and quitting
     26 |Q_cm|	change: Copying and moving	|Q_ac|	Automatic commands
     27 |Q_ch|	change: Changing text		|Q_wi|	Multi-window commands
     28 |Q_co|	change: Complex			|Q_bu|	Buffer list commands
     29 |Q_vi|	Visual mode			|Q_sy|	Syntax highlighting
     30 |Q_to|	Text objects			|Q_gu|	GUI commands
     31 				|Q_fo|	Folding
     32 
     33 ------------------------------------------------------------------------------
     34 *Q_lr*		Left-right motions
     35 
     36 N is used to indicate an optional count that can be given before the command.
     37 
     38 |h|	N  h		left (also: CTRL-H, <BS>, or <Left> key)
     39 |l|	N  l		right (also: <Space> or <Right> key)
     40 |0|	   0		to first character in the line (also: <Home> key)
     41 |^|	   ^		to first non-blank character in the line
     42 |$|	N  $		to the next EOL (end of line) position
     43 		   (also: <End> key)
     44 |g0|	   g0		to first character in screen line (differs from "0"
     45 		   when lines wrap)
     46 |g^|	   g^		to first non-blank character in screen line (differs
     47 		   from "^" when lines wrap)
     48 |g$|	N  g$		to last character in screen line (differs from "$"
     49 		   when lines wrap)
     50 |gm|	   gm		to middle of the screen line
     51 |gM|	   gM		to middle of the line
     52 |bar|	N  |		to column N (default: 1)
     53 |f|	N  f{char}	to the Nth occurrence of {char} to the right
     54 |F|	N  F{char}	to the Nth occurrence of {char} to the left
     55 |t|	N  t{char}	till before the Nth occurrence of {char} to the right
     56 |T|	N  T{char}	till before the Nth occurrence of {char} to the left
     57 |;|	N  ;		repeat the last "f", "F", "t", or "T" N times
     58 |,|	N  ,		repeat the last "f", "F", "t", or "T" N times in
     59 		   opposite direction
     60 
     61 ------------------------------------------------------------------------------
     62 *Q_ud*		Up-down motions
     63 
     64 |k|	N  k		up N lines (also: CTRL-P and <Up>)
     65 |j|	N  j		down N lines (also: CTRL-J, CTRL-N, <NL>, and <Down>)
     66 |-|	N  -		up N lines, on the first non-blank character
     67 |+|	N  +		down N lines, on the first non-blank character (also:
     68 		   CTRL-M and <CR>)
     69 |_|	N  _		down N-1 lines, on the first non-blank character
     70 |G|	N  G		goto line N (default: last line), on the first
     71 		   non-blank character
     72 |gg|	N  gg		goto line N (default: first line), on the first
     73 		   non-blank character
     74 |N%|	N  %		goto line N percentage down in the file; N must be
     75 		   given, otherwise it is the |%| command
     76 |gk|	N  gk		up N screen lines (differs from "k" when line wraps)
     77 |gj|	N  gj		down N screen lines (differs from "j" when line wraps)
     78 
     79 ------------------------------------------------------------------------------
     80 *Q_tm*		Text object motions
     81 
     82 |w|	N  w		N words forward
     83 |W|	N  W		N blank-separated |WORD|s forward
     84 |e|	N  e		forward to the end of the Nth word
     85 |E|	N  E		forward to the end of the Nth blank-separated |WORD|
     86 |b|	N  b		N words backward
     87 |B|	N  B		N blank-separated |WORD|s backward
     88 |ge|	N  ge		backward to the end of the Nth word
     89 |gE|	N  gE		backward to the end of the Nth blank-separated |WORD|
     90 
     91 |)|	N  )		N sentences forward
     92 |(|	N  (		N sentences backward
     93 |}|	N  }		N paragraphs forward
     94 |{|	N  {		N paragraphs backward
     95 |]]|	N  ]]		N sections forward, at start of section
     96 |[[|	N  [[		N sections backward, at start of section
     97 |][|	N  ][		N sections forward, at end of section
     98 |[]|	N  []		N sections backward, at end of section
     99 |[(|	N  [(		N times back to unclosed '('
    100 |[{|	N  [{		N times back to unclosed '{'
    101 |[m|	N  [m		N times back to start of method (for Java)
    102 |[M|	N  [M		N times back to end of method (for Java)
    103 |])|	N  ])		N times forward to unclosed ')'
    104 |]}|	N  ]}		N times forward to unclosed '}'
    105 |]m|	N  ]m		N times forward to start of method (for Java)
    106 |]M|	N  ]M		N times forward to end of method (for Java)
    107 |[#|	N  [#		N times back to unclosed "#if" or "#else"
    108 |]#|	N  ]#		N times forward to unclosed "#else" or "#endif"
    109 |[star|	N  [*		N times back to start of comment "/*"
    110 |]star|	N  ]*		N times forward to end of comment "*/"
    111 
    112 ------------------------------------------------------------------------------
    113 *Q_pa*		Pattern searches
    114 
    115 |/|	N  /{pattern}[/[offset]]<CR>
    116 		search forward for the Nth occurrence of {pattern}
    117 |?|	N  ?{pattern}[?[offset]]<CR>
    118 		search backward for the Nth occurrence of {pattern}
    119 |/<CR>|	N  /<CR>	repeat last search, in the forward direction
    120 |?<CR>|	N  ?<CR>	repeat last search, in the backward direction
    121 |n|	N  n		repeat last search
    122 |N|	N  N		repeat last search, in opposite direction
    123 |star|	N  *		search forward for the identifier under the cursor
    124 |#|	N  #		search backward for the identifier under the cursor
    125 |gstar|	N  g*		like "*", but also find partial matches
    126 |g#|	N  g#		like "#", but also find partial matches
    127 |gd|	   gd		goto local declaration of identifier under the cursor
    128 |gD|	   gD		goto global declaration of identifier under the cursor
    129 
    130 |pattern|		Special characters in search patterns
    131 
    132 		meaning		      magic   nomagic	~
    133 	matches any single character	.	\.
    134 	       matches start of line	^	^
    135 		       matches <EOL>	$	$
    136 	       matches start of word	\<	\<
    137 		 matches end of word	\>	\>
    138 matches a single char from the range	[a-z]	\[a-z]
    139      matches a single char not in the range	[^a-z]	\[^a-z]
    140 	  matches an identifier char	\i	\i
    141 	   idem but excluding digits	\I	\I
    142 	 matches a keyword character	\k	\k
    143 	   idem but excluding digits	\K	\K
    144        matches a file name character	\f	\f
    145 	   idem but excluding digits	\F	\F
    146        matches a printable character	\p	\p
    147 	   idem but excluding digits	\P	\P
    148      matches a white space character	\s	\s
    149  matches a non-white space character	\S	\S
    150 
    151 		       matches <Esc>	\e	\e
    152 		       matches <Tab>	\t	\t
    153 			matches <CR>	\r	\r
    154 			matches <BS>	\b	\b
    155 
    156     matches 0 or more of the preceding atom	*	\*
    157     matches 1 or more of the preceding atom	\+	\+
    158 matches 0 or 1 of the preceding atom	\=	\=
    159 matches 2 to 5 of the preceding atom	\{2,5}  \{2,5}
    160 	  separates two alternatives	\|	\|
    161 	group a pattern into an atom	\(\)	\(\)
    162 
    163 |search-offset|		Offsets allowed after search command
    164 
    165    [num]	[num] lines downwards, in column 1
    166    +[num]	[num] lines downwards, in column 1
    167    -[num]	[num] lines upwards, in column 1
    168    e[+num]	[num] characters to the right of the end of the match
    169    e[-num]	[num] characters to the left of the end of the match
    170    s[+num]	[num] characters to the right of the start of the match
    171    s[-num]	[num] characters to the left of the start of the match
    172    b[+num]	[num] identical to s[+num] above (mnemonic: begin)
    173    b[-num]	[num] identical to s[-num] above (mnemonic: begin)
    174    ;{search-command}	execute {search-command} next
    175 
    176 ------------------------------------------------------------------------------
    177 *Q_ma*		Marks and motions
    178 
    179 |m|        m{a-zA-Z}	mark current position with mark {a-zA-Z}
    180 |`a|       `{a-z}	go to mark {a-z} within current file
    181 |`A|       `{A-Z}	go to mark {A-Z} in any file
    182 |`0|       `{0-9}	go to the position where Vim was previously exited
    183 |``|       ``		go to the position before the last jump
    184 |`quote|   `"		go to the position when last editing this file
    185 |`[|       `[		go to the start of the previously operated or put text
    186 |`]|       `]		go to the end of the previously operated or put text
    187 |`<|       `<		go to the start of the (previous) Visual area
    188 |`>|       `>		go to the end of the (previous) Visual area
    189 |`.|       `.		go to the position of the last change in this file
    190 |'|        '{a-zA-Z0-9[]'"<>.}
    191 		same as `, but on the first non-blank in the line
    192 |:marks|  :marks	print the active marks
    193 |CTRL-O|  N  CTRL-O	go to Nth older position in jump list
    194 |CTRL-I|  N  CTRL-I	go to Nth newer position in jump list
    195 |:ju|     :ju[mps]	print the jump list
    196 
    197 ------------------------------------------------------------------------------
    198 *Q_vm*		Various motions
    199 
    200 |%|	   %		find the next brace, bracket, comment, or "#if"/
    201 		   "#else"/"#endif" in this line and go to its match
    202 |H|	N  H		go to the Nth line in the window, on the first
    203 		   non-blank
    204 |M|	   M		go to the middle line in the window, on the first
    205 		   non-blank
    206 |L|	N  L		go to the Nth line from the bottom, on the first
    207 		   non-blank
    208 
    209 |go|	N  go			go to Nth byte in the buffer
    210 |:go|	:[range]go[to] [off]	go to [off] byte in the buffer
    211 
    212 ------------------------------------------------------------------------------
    213 *Q_ta*		Using tags
    214 
    215 |:ta|      :ta[g][!] {tag}	jump to tag {tag}
    216 |:ta|      :[count]ta[g][!]	jump to [count]'th newer tag in tag list
    217 |CTRL-]|      CTRL-]		jump to the tag under cursor, unless changes
    218 			   have been made
    219 |:ts|      :ts[elect][!] [tag]	list matching tags and select one to jump to
    220 |:tjump|   :tj[ump][!] [tag]	jump to tag [tag] or select from list when
    221 			   there are multiple matches
    222 |:ltag|    :lt[ag][!] [tag]	jump to tag [tag] and add matching tags to the
    223 			   location list
    224 
    225 |:tags|    :tags		print tag list
    226 |CTRL-T|   N  CTRL-T		jump back from Nth older tag in tag list
    227 |:po|      :[count]po[p][!]	jump back from [count]'th older tag in tag list
    228 |:tnext|   :[count]tn[ext][!]	jump to [count]'th next matching tag
    229 |:tp|      :[count]tp[revious][!] jump to [count]'th previous matching tag
    230 |:tr|      :[count]tr[ewind][!]	jump to [count]'th matching tag
    231 |:tl|      :tl[ast][!]		jump to last matching tag
    232 
    233 |:ptag|    :pt[ag] {tag}	open a preview window to show tag {tag}
    234 |CTRL-W_}|    CTRL-W }		like CTRL-] but show tag in preview window
    235 |:pts|     :pts[elect]		like ":tselect" but show tag in preview window
    236 |:ptjump|  :ptj[ump]		like ":tjump" but show tag in preview window
    237 |:pclose|  :pc[lose]		close tag preview window
    238 |CTRL-W_z|    CTRL-W z		close tag preview window
    239 
    240 ------------------------------------------------------------------------------
    241 *Q_sc*		Scrolling
    242 
    243 |CTRL-E|	N  CTRL-E	window N lines downwards (default: 1)
    244 |CTRL-D|	N  CTRL-D	window N lines Downwards (default: 1/2 window)
    245 |CTRL-F|	N  CTRL-F	window N pages Forwards (downwards)
    246 |CTRL-Y|	N  CTRL-Y	window N lines upwards (default: 1)
    247 |CTRL-U|	N  CTRL-U	window N lines Upwards (default: 1/2 window)
    248 |CTRL-B|	N  CTRL-B	window N pages Backwards (upwards)
    249 |z<CR>|		   z<CR> or zt	redraw, current line at top of window
    250 |z.|		   z.	 or zz	redraw, current line at center of window
    251 |z-|		   z-	 or zb	redraw, current line at bottom of window
    252 
    253 These only work when 'wrap' is off:
    254 |zh|		N  zh		scroll screen N characters to the right
    255 |zl|		N  zl		scroll screen N characters to the left
    256 |zH|		N  zH		scroll screen half a screenwidth to the right
    257 |zL|		N  zL		scroll screen half a screenwidth to the left
    258 
    259 ------------------------------------------------------------------------------
    260 *Q_in*		Inserting text
    261 
    262 |a|	N  a	append text after the cursor (N times)
    263 |A|	N  A	append text at the end of the line (N times)
    264 |i|	N  i	insert text before the cursor (N times) (also: <Insert>)
    265 |I|	N  I	insert text before the first non-blank in the line (N times)
    266 |gI|	N  gI	insert text in column 1 (N times)
    267 |o|	N  o	open a new line below the current line, append text (N times)
    268 |O|	N  O	open a new line above the current line, append text (N times)
    269 |:startinsert|  :star[tinsert][!]  start Insert mode, append when [!] used
    270 |:startreplace| :startr[eplace][!]  start Replace mode, at EOL when [!] used
    271 
    272 in Visual block mode:
    273 |v_b_I|	   I	insert the same text in front of all the selected lines
    274 |v_b_A|	   A	append the same text after all the selected lines
    275 
    276 ------------------------------------------------------------------------------
    277 *Q_ai*		Insert mode keys
    278 
    279 |insert-index|	alphabetical index of Insert mode commands
    280 
    281 leaving Insert mode:
    282 |i_<Esc>|	<Esc>		  end Insert mode, back to Normal mode
    283 |i_CTRL-C|	CTRL-C		  like <Esc>, but do not use an abbreviation
    284 |i_CTRL-O|	CTRL-O {command}  execute {command} and return to Insert mode
    285 
    286 moving around:
    287 |i_<Up>|	cursor keys	  move cursor left/right/up/down
    288 |i_<S-Left>|	shift-left/right  one word left/right
    289 |i_<S-Up>|	shift-up/down	  one screenful backward/forward
    290 |i_<End>|	<End>		  cursor after last character in the line
    291 |i_<Home>|	<Home>		  cursor to first character in the line
    292 
    293 ------------------------------------------------------------------------------
    294 *Q_ss*		Special keys in Insert mode
    295 
    296 |i_CTRL-V|	CTRL-V {char}..	  insert character literally, or enter decimal
    297 			     byte value
    298 |i_<NL>|	<NL> or <CR> or CTRL-M or CTRL-J
    299 			  begin new line
    300 |i_CTRL-E|	CTRL-E		  insert the character from below the cursor
    301 |i_CTRL-Y|	CTRL-Y		  insert the character from above the cursor
    302 
    303 |i_CTRL-A|	CTRL-A		  insert previously inserted text
    304 |i_CTRL-@|	CTRL-@		  insert previously inserted text and stop
    305 			     Insert mode
    306 |i_CTRL-R|	CTRL-R {register} insert the contents of a register
    307 
    308 |i_CTRL-N|	CTRL-N		  insert next match of identifier before the
    309 			     cursor
    310 |i_CTRL-P|	CTRL-P		  insert previous match of identifier before
    311 			     the cursor
    312 |i_CTRL-X|	CTRL-X ...	  complete the word before the cursor in
    313 			     various ways
    314 
    315 |i_<BS>|	<BS> or CTRL-H	  delete the character before the cursor
    316 |i_<Del>|	<Del>		  delete the character under the cursor
    317 |i_CTRL-W|	CTRL-W		  delete word before the cursor
    318 |i_CTRL-U|	CTRL-U		  delete all entered characters in the current
    319 			     line
    320 |i_CTRL-T|	CTRL-T		  insert one shiftwidth of indent in front of
    321 			       the current line
    322 |i_CTRL-D|	CTRL-D		  delete one shiftwidth of indent in front of
    323 			     the current line
    324 |i_0_CTRL-D|	0 CTRL-D	  delete all indent in the current line
    325 |i_^_CTRL-D|	^ CTRL-D	  delete all indent in the current line,
    326 			     restore indent in next line
    327 
    328 ------------------------------------------------------------------------------
    329 *Q_di*		Digraphs
    330 
    331 |:dig|	   :dig[raphs]		show current list of digraphs
    332 |:dig|	   :dig[raphs] {char1}{char2} {number} ...
    333 			add digraph(s) to the list
    334 
    335 In Insert or Command-line mode:
    336 |i_CTRL-K|	CTRL-K {char1} {char2}
    337 			  enter digraph
    338 |i_digraph|	{char1} <BS> {char2}
    339 			  enter digraph if 'digraph' option set
    340 
    341 ------------------------------------------------------------------------------
    342 *Q_si*		Special inserts
    343 
    344 |:r|	   :r [file]	   insert the contents of [file] below the cursor
    345 |:r!|	   :r! {command}   insert the standard output of {command} below the
    346 		      cursor
    347 
    348 ------------------------------------------------------------------------------
    349 *Q_de*		Deleting text
    350 
    351 |x|	N  x		delete N characters under and after the cursor
    352 |<Del>|	N  <Del>	delete N characters under and after the cursor
    353 |X|	N  X		delete N characters before the cursor
    354 |d|	N  d{motion}	delete the text that is moved over with {motion}
    355 |v_d|	   {visual}d	delete the highlighted text
    356 |dd|	N  dd		delete N lines
    357 |D|	N  D		delete to the end of the line (and N-1 more lines)
    358 |J|	N  J		join N-1 lines (delete <EOL>s)
    359 |v_J|	   {visual}J	join the highlighted lines
    360 |gJ|	N  gJ		like "J", but without inserting spaces
    361 |v_gJ|	   {visual}gJ	like "{visual}J", but without inserting spaces
    362 |:d|	:[range]d [x]	delete [range] lines [into register x]
    363 
    364 ------------------------------------------------------------------------------
    365 *Q_cm*		Copying and moving text
    366 
    367 |quote|	  "{char}	use register {char} for the next delete, yank, or put
    368 |:reg|	  :reg		show the contents of all registers
    369 |:reg|	  :reg {arg}	show the contents of registers mentioned in {arg}
    370 |y|	  N  y{motion}	yank the text moved over with {motion} into a register
    371 |v_y|	     {visual}y	yank the highlighted text into a register
    372 |yy|	  N  yy		yank N lines into a register
    373 |Y|	  N  Y		yank N lines into a register
    374 		Note: Mapped to "y$" by default. |default-mappings|
    375 |p|	  N  p		put a register after the cursor position (N times)
    376 |P|	  N  P		put a register before the cursor position (N times)
    377 |]p|	  N  ]p		like p, but adjust indent to current line
    378 |[p|	  N  [p		like P, but adjust indent to current line
    379 |gp|	  N  gp		like p, but leave cursor after the new text
    380 |gP|	  N  gP		like P, but leave cursor after the new text
    381 
    382 ------------------------------------------------------------------------------
    383 *Q_ch*		Changing text
    384 
    385 |r|	  N  r{char}	replace N characters with {char}
    386 |gr|	  N  gr{char}	replace N characters without affecting layout
    387 |R|	  N  R		enter Replace mode (repeat the entered text N times)
    388 |gR|	  N  gR		enter virtual Replace mode: Like Replace mode but
    389 		   without affecting layout
    390 |v_b_r|	     {visual}r{char}
    391 		in Visual block mode: Replace each char of the
    392 		   selected text with {char}
    393 
    394 (change = delete text and enter Insert mode)
    395 |c|	  N  c{motion}	change the text that is moved over with {motion}
    396 |v_c|	     {visual}c	change the highlighted text
    397 |cc|	  N  cc		change N lines
    398 |S|	  N  S		change N lines
    399 |C|	  N  C		change to the end of the line (and N-1 more lines)
    400 |s|	  N  s		change N characters
    401 |v_b_c|	     {visual}c	in Visual block mode: Change each of the selected
    402 		   lines with the entered text
    403 |v_b_C|	     {visual}C	in Visual block mode: Change each of the selected
    404 		   lines until end-of-line with the entered text
    405 
    406 |~|	  N  ~		switch case for N characters and advance cursor
    407 |v_~|	     {visual}~	switch case for highlighted text
    408 |v_u|	     {visual}u	make highlighted text lowercase
    409 |v_U|	     {visual}U	make highlighted text uppercase
    410 |g~|	     g~{motion} switch case for the text that is moved over with
    411 		   {motion}
    412 |gu|	     gu{motion} make the text that is moved over with {motion}
    413 		   lowercase
    414 |gU|	     gU{motion} make the text that is moved over with {motion}
    415 		   uppercase
    416 |v_g?|	     {visual}g? perform rot13 encoding on highlighted text
    417 |g?|	     g?{motion} perform rot13 encoding on the text that is moved over
    418 		   with {motion}
    419 
    420 |CTRL-A|  N  CTRL-A	add N to the number at or after the cursor
    421 |CTRL-X|  N  CTRL-X	subtract N from the number at or after the cursor
    422 
    423 |<|	  N  <{motion}	move the lines that are moved over with {motion} one
    424 		   shiftwidth left
    425 |<<|	  N  <<		move N lines one shiftwidth left
    426 |>|	  N  >{motion}	move the lines that are moved over with {motion} one
    427 		   shiftwidth right
    428 |>>|	  N  >>		move N lines one shiftwidth right
    429 |gq|	  N  gq{motion}	format the lines that are moved over with {motion} to
    430 		   'textwidth' length
    431 |:ce|	  :[range]ce[nter] [width]
    432 		center the lines in [range]
    433 |:le|	  :[range]le[ft] [indent]
    434 		left-align the lines in [range] (with [indent])
    435 |:ri|	  :[range]ri[ght] [width]
    436 		right-align the lines in [range]
    437 
    438 ------------------------------------------------------------------------------
    439 *Q_co*		Complex changes
    440 
    441 |!|	   N  !{motion}{command}<CR>
    442 		filter the lines that are moved over through {command}
    443 |!!|	   N  !!{command}<CR>
    444 		filter N lines through {command}
    445 |v_!|	      {visual}!{command}<CR>
    446 		filter the highlighted lines through {command}
    447 |:range!|  :[range]! {command}<CR>
    448 		filter [range] lines through {command}
    449 |=|	   N  ={motion}
    450 		filter the lines that are moved over through 'equalprg'
    451 |==|	   N  ==	filter N lines through 'equalprg'
    452 |v_=|	      {visual}=
    453 		filter the highlighted lines through 'equalprg'
    454 |:s|	   :[range]s[ubstitute]/{pattern}/{string}/[g][c]
    455 		substitute {pattern} by {string} in [range] lines;
    456 		   with [g], replace all occurrences of {pattern};
    457 		   with [c], confirm each replacement
    458 |:s|	   :[range]s[ubstitute] [g][c]
    459 		repeat previous ":s" with new range and options
    460 |&|	      &		Repeat previous ":s" on current line without options
    461 |:ret|	   :[range]ret[ab][!] [tabstop]
    462 		set 'tabstop' to new value and adjust white space
    463 		   accordingly
    464 
    465 ------------------------------------------------------------------------------
    466 *Q_vi*		Visual mode
    467 
    468 |visual-index|	list of Visual mode commands.
    469 
    470 |v|        v		start highlighting characters  }  move cursor and use
    471 |V|        V		start highlighting linewise    }  operator to affect
    472 |CTRL-V|   CTRL-V	start highlighting blockwise   }  highlighted text
    473 |v_o|      o		exchange cursor position with start of highlighting
    474 |gv|       gv		start highlighting on previous visual area
    475 |v_v|      v		highlight characters or stop highlighting
    476 |v_V|      V		highlight linewise or stop highlighting
    477 |v_CTRL-V| CTRL-V	highlight blockwise or stop highlighting
    478 
    479 ------------------------------------------------------------------------------
    480 *Q_to*		Text objects (only in Visual mode or after an operator)
    481 
    482 |v_aw|	   N  aw	Select "a word"
    483 |v_iw|	   N  iw	Select "inner word"
    484 |v_aW|	   N  aW	Select "a |WORD|"
    485 |v_iW|	   N  iW	Select "inner |WORD|"
    486 |v_as|	   N  as	Select "a sentence"
    487 |v_is|	   N  is	Select "inner sentence"
    488 |v_ap|	   N  ap	Select "a paragraph"
    489 |v_ip|	   N  ip	Select "inner paragraph"
    490 |v_ab|	   N  ab	Select "a block" (from "[(" to "])")
    491 |v_ib|	   N  ib	Select "inner block" (from "[(" to "])")
    492 |v_aB|	   N  aB	Select "a Block" (from `[{` to `]}`)
    493 |v_iB|	   N  iB	Select "inner Block" (from `[{` to `]}`)
    494 |v_a>|	   N  a>	Select "a <> block"
    495 |v_i>|	   N  i>	Select "inner <> block"
    496 |v_at|	   N  at	Select "a tag block" (from <aaa> to </aaa>)
    497 |v_it|	   N  it	Select "inner tag block" (from <aaa> to </aaa>)
    498 |v_a'|	   N  a'	Select "a single quoted string"
    499 |v_i'|	   N  i'	Select "inner single quoted string"
    500 |v_aquote| N  a"	Select "a double quoted string"
    501 |v_iquote| N  i"	Select "inner double quoted string"
    502 |v_a`|	   N  a`	Select "a backward quoted string"
    503 |v_i`|	   N  i`	Select "inner backward quoted string"
    504 
    505 ------------------------------------------------------------------------------
    506 *Q_re*		Repeating commands
    507 
    508 |.|	   N  .		repeat last change (with count replaced with N)
    509 |q|	      q{a-z}	record typed characters into register {a-z}
    510 |q|	      q{A-Z}	record typed characters, appended to register {a-z}
    511 |q|	      q		stop recording
    512 |Q|	      Q		replay last recorded macro
    513 |@|	   N  @{a-z}	execute the contents of register {a-z} (N times)
    514 |@@|	   N  @@	   repeat previous @{a-z} (N times)
    515 |:@|	   :@{a-z}	execute the contents of register {a-z} as an Ex
    516 		   command
    517 |:@@|	   :@@		repeat previous :@{a-z}
    518 |:g|	   :[range]g[lobal]/{pattern}/[cmd]
    519 		execute Ex command [cmd] (default: ":p") on the lines
    520 		   within [range] where {pattern} matches
    521 |:g|	   :[range]g[lobal]!/{pattern}/[cmd]
    522 		execute Ex command [cmd] (default: ":p") on the lines
    523 		   within [range] where {pattern} does NOT match
    524 |:so|	   :so[urce] {file}
    525 		read Ex commands from {file}
    526 |:so|	   :so[urce]! {file}
    527 		read Vim commands from {file}
    528 |:sl|	   :sl[eep] [sec]
    529 		don't do anything for [sec] seconds
    530 |gs|	   N  gs	goto Sleep for N seconds
    531 
    532 ------------------------------------------------------------------------------
    533 *Q_km*		Key mapping
    534 
    535 |:map|       :ma[p] {lhs} {rhs}	  map {lhs} to {rhs} in Normal and Visual mode
    536 |:map!|      :ma[p]! {lhs} {rhs}  map {lhs} to {rhs} in Insert and Command-line
    537 			     mode
    538 |:noremap|   :no[remap][!] {lhs} {rhs}
    539 			  same as ":map", no remapping for this {rhs}
    540 |:unmap|     :unm[ap] {lhs}	  remove the mapping of {lhs} for Normal and
    541 			     Visual mode
    542 |:unmap!|    :unm[ap]! {lhs}	  remove the mapping of {lhs} for Insert and
    543 			     Command-line mode
    544 |:map_l|     :ma[p] [lhs]	  list mappings (starting with [lhs]) for
    545 			     Normal and Visual mode
    546 |:map_l!|    :ma[p]! [lhs]	  list mappings (starting with [lhs]) for
    547 			     Insert and Command-line mode
    548 |:cmap|      :cmap/:cunmap/:cnoremap
    549 			  like ":map!"/":unmap!"/":noremap!" but for
    550 			     Command-line mode only
    551 |:imap|      :imap/:iunmap/:inoremap
    552 			  like ":map!"/":unmap!"/":noremap!" but for
    553 			     Insert mode only
    554 |:nmap|      :nmap/:nunmap/:nnoremap
    555 			  like ":map"/":unmap"/":noremap" but for
    556 			     Normal mode only
    557 |:vmap|      :vmap/:vunmap/:vnoremap
    558 			  like ":map"/":unmap"/":noremap" but for
    559 			     Visual mode only
    560 |:omap|      :omap/:ounmap/:onoremap
    561 			  like ":map"/":unmap"/":noremap" but only for
    562 			     when an operator is pending
    563 |:mapc|      :mapc[lear]	  remove mappings for Normal and Visual mode
    564 |:mapc|      :mapc[lear]!	  remove mappings for Insert and Cmdline mode
    565 |:imapc|     :imapc[lear]	  remove mappings for Insert mode
    566 |:vmapc|     :vmapc[lear]	  remove mappings for Visual mode
    567 |:omapc|     :omapc[lear]	  remove mappings for Operator-pending mode
    568 |:nmapc|     :nmapc[lear]	  remove mappings for Normal mode
    569 |:cmapc|     :cmapc[lear]	  remove mappings for Cmdline mode
    570 |:mkexrc|    :mk[exrc][!] [file]  write current mappings, abbreviations, and
    571 			     settings to [file] (default: ".exrc";
    572 			     use ! to overwrite)
    573 |:mkvimrc|   :mkv[imrc][!] [file]
    574 			  same as :mkexrc, but with default ".nvimrc"
    575 |:mksession| :mks[ession][!] [file]
    576 			  like ":mkvimrc", but store current files,
    577 			     windows, etc. too, to be able to continue
    578 			     this session later
    579 
    580 ------------------------------------------------------------------------------
    581 *Q_ab*		Abbreviations
    582 
    583 |:abbreviate|	:ab[breviate] {lhs} {rhs}  add abbreviation for {lhs} to {rhs}
    584 |:abbreviate|	:ab[breviate] {lhs}	   show abbr's that start with {lhs}
    585 |:abbreviate|	:ab[breviate]		   show all abbreviations
    586 |:unabbreviate|	:una[bbreviate] {lhs}	   remove abbreviation for {lhs}
    587 |:noreabbrev|	:norea[bbrev] [lhs] [rhs]  like ":ab", but don't remap [rhs]
    588 |:iabbrev|	:iab/:iunab/:inoreab	   like ":ab", but only for Insert mode
    589 |:cabbrev|	:cab/:cunab/:cnoreab	   like ":ab", but only for
    590 					Command-line mode
    591 |:abclear|	:abc[lear]		   remove all abbreviations
    592 |:cabclear|	:cabc[lear]		   remove all abbr's for Cmdline mode
    593 |:iabclear|	:iabc[lear]		   remove all abbr's for Insert mode
    594 
    595 ------------------------------------------------------------------------------
    596 *Q_op*		Options
    597 
    598 |:set|		:se[t]			  show all modified options
    599 |:set|		:se[t] all		  show all options
    600 |:set|		:se[t] {option}		  set boolean option (switch it on),
    601 				  show string or number option
    602 |:set|		:se[t] no{option}	  reset boolean option (switch it off)
    603 |:set|		:se[t] inv{option}	  invert boolean option
    604 |:set|		:se[t] {option}={value}	  set string/number option to {value}
    605 |:set|		:se[t] {option}+={value}  append {value} to string option, add
    606 				  {value} to number option
    607 |:set|		:se[t] {option}-={value}  remove {value} to string option,
    608 				  subtract {value} from number option
    609 |:set|		:se[t] {option}?	  show value of {option}
    610 |:set|		:se[t] {option}&	  reset {option} to its default value
    611 
    612 |:setlocal|	:setl[ocal]		  like ":set" but set the local value
    613 				  for options that have one
    614 |:setglobal|	:setg[lobal]		  like ":set" but set the global value
    615 				  of a local option
    616 
    617 |:options|	:opt[ions]		  open a new window to view and set
    618 				  options, grouped by functionality,
    619 				  a one line explanation and links to
    620 				  the help
    621 
    622 Short explanation of each option:		*option-list*
    623 'allowrevins'	  'ari'     allow CTRL-_ in Insert mode
    624 'ambiwidth'	  'ambw'    what to do with Unicode chars of ambiguous width
    625 'arabic'	  'arab'    for Arabic as a default second language
    626 'arabicshape'	  'arshape' do shaping for Arabic characters
    627 'autochdir'	  'acd'     change directory to the file in the current window
    628 'autocomplete'	  'ac'      enable automatic completion in insert mode
    629 'autocompletedelay' 'acl'   delay in msec before menu appears after typing
    630 'autocompletetimeout' 'act' initial decay timeout for autocompletion algorithm
    631 'autoindent'	  'ai'	    take indent for new line from previous line
    632 'autoread'	  'ar'	    autom. read file when changed outside of Vim
    633 'autowrite'	  'aw'	    automatically write file if changed
    634 'autowriteall'	  'awa'     as 'autowrite', but works with more commands
    635 'background'	  'bg'	    "dark" or "light", used for highlight colors
    636 'backspace'	  'bs'	    how backspace works at start of line
    637 'backup'	  'bk'	    keep backup file after overwriting a file
    638 'backupcopy'	  'bkc'     make backup as a copy, don't rename the file
    639 'backupdir'	  'bdir'    list of directories for the backup file
    640 'backupext'	  'bex'     extension used for the backup file
    641 'backupskip'	  'bsk'     no backup for files that match these patterns
    642 'belloff'	  'bo'	    do not ring the bell for these reasons
    643 'binary'	  'bin'     read/write/edit file in binary mode
    644 'bomb'			    prepend a Byte Order Mark to the file
    645 'breakat'	  'brk'     characters that may cause a line break
    646 'breakindent'	  'bri'     wrapped line repeats indent
    647 'breakindentopt'  'briopt'  settings for 'breakindent'
    648 'browsedir'	  'bsdir'   which directory to start browsing in
    649 'bufhidden'	  'bh'	    what to do when buffer is no longer in window
    650 'buflisted'	  'bl'	    whether the buffer shows up in the buffer list
    651 'buftype'	  'bt'	    special type of buffer
    652 'casemap'	  'cmp'     specifies how case of letters is changed
    653 'cdhome'	  'cdh'	    change directory to the home directory by ":cd"
    654 'cdpath'	  'cd'	    list of directories searched with ":cd"
    655 'cedit'			    key used to open the command-line window
    656 'charconvert'	  'ccv'     expression for character encoding conversion
    657 'chistory'	  'chi'     maximum number of quickfix lists in history
    658 'cindent'	  'cin'     do C program indenting
    659 'cinkeys'	  'cink'    keys that trigger indent when 'cindent' is set
    660 'cinoptions'	  'cino'    how to do indenting when 'cindent' is set
    661 'cinscopedecls'	  'cinsd'   words that are recognized by 'cino-g'
    662 'cinwords'	  'cinw'    words where 'si' and 'cin' add an indent
    663 'clipboard'	  'cb'	    use the clipboard as the unnamed register
    664 'cmdheight'	  'ch'	    number of lines to use for the command-line
    665 'cmdwinheight'	  'cwh'     height of the command-line window
    666 'colorcolumn'	  'cc'	    columns to highlight
    667 'columns'	  'co'	    number of columns in the display
    668 'comments'	  'com'     patterns that can start a comment line
    669 'commentstring'   'cms'     template for comments; used for fold marker
    670 'complete'	  'cpt'     specify how Insert mode completion works
    671 'completefunc'	  'cfu'     function to be used for Insert mode completion
    672 'completeopt'	  'cot'     options for Insert mode completion
    673 'completeslash'	  'csl'	    like 'shellslash' for completion
    674 'completetimeout' 'cto'     initial decay timeout for CTRL-N and CTRL-P
    675 'concealcursor'	  'cocu'    whether concealable text is hidden in cursor line
    676 'conceallevel'	  'cole'    whether concealable text is shown or hidden
    677 'confirm'	  'cf'	    ask what to do about unsaved/read-only files
    678 'copyindent'	  'ci'	    make 'autoindent' use existing indent structure
    679 'cpoptions'	  'cpo'     flags for Vi-compatible behavior
    680 'cursorbind'	  'crb'     move cursor in window as it moves in other windows
    681 'cursorcolumn'	  'cuc'	    highlight the screen column of the cursor
    682 'cursorline'	  'cul'	    highlight the screen line of the cursor
    683 'cursorlineopt'	  'culopt'  settings for 'cursorline'
    684 'debug'			    set to "msg" to see all error messages
    685 'define'	  'def'     pattern to be used to find a macro definition
    686 'delcombine'	  'deco'    delete combining characters on their own
    687 'dictionary'	  'dict'    list of file names used for keyword completion
    688 'diff'			    use diff mode for the current window
    689 'diffanchors'	  'dia'     list of {address} to force anchoring of a diff
    690 'diffexpr'	  'dex'     expression used to obtain a diff file
    691 'diffopt'	  'dip'     options for using diff mode
    692 'digraph'	  'dg'	    enable the entering of digraphs in Insert mode
    693 'directory'	  'dir'     list of directory names for the swap file
    694 'display'	  'dy'	    list of flags for how to display text
    695 'eadirection'	  'ead'     in which direction 'equalalways' works
    696 'encoding'	  'enc'     encoding used internally
    697 'endoffile'	  'eof'     write CTRL-Z at end of the file
    698 'endofline'	  'eol'     write <EOL> for last line in file
    699 'equalalways'	  'ea'	    windows are automatically made the same size
    700 'equalprg'	  'ep'	    external program to use for "=" command
    701 'errorbells'	  'eb'	    ring the bell for error messages
    702 'errorfile'	  'ef'	    name of the errorfile for the QuickFix mode
    703 'errorformat'	  'efm'     description of the lines in the error file
    704 'eventignore'	  'ei'	    autocommand events that are ignored
    705 'eventignorewin'  'eiw'     autocommand events that are ignored in a window
    706 'expandtab'	  'et'	    use spaces when <Tab> is inserted
    707 'exrc'		  'ex'	    read init files in the current directory
    708 'fileencoding'	  'fenc'    file encoding for multibyte text
    709 'fileencodings'   'fencs'   automatically detected character encodings
    710 'fileformat'	  'ff'	    file format used for file I/O
    711 'fileformats'	  'ffs'     automatically detected values for 'fileformat'
    712 'fileignorecase'  'fic'     ignore case when using file names
    713 'filetype'	  'ft'	    type of file, used for autocommands
    714 'fillchars'	  'fcs'     characters to use for displaying special items
    715 'findfunc'	  'ffu'     function to be called for the |:find| command
    716 'fixendofline'	  'fixeol'  make sure last line in file has <EOL>
    717 'foldclose'	  'fcl'     close a fold when the cursor leaves it
    718 'foldcolumn'	  'fdc'     width of the column used to indicate folds
    719 'foldenable'	  'fen'     set to display all folds open
    720 'foldexpr'	  'fde'     expression used when 'foldmethod' is "expr"
    721 'foldignore'	  'fdi'     ignore lines when 'foldmethod' is "indent"
    722 'foldlevel'	  'fdl'     close folds with a level higher than this
    723 'foldlevelstart'  'fdls'    'foldlevel' when starting to edit a file
    724 'foldmarker'	  'fmr'     markers used when 'foldmethod' is "marker"
    725 'foldmethod'	  'fdm'     folding type
    726 'foldminlines'	  'fml'     minimum number of lines for a fold to be closed
    727 'foldnestmax'	  'fdn'     maximum fold depth
    728 'foldopen'	  'fdo'     for which commands a fold will be opened
    729 'foldtext'	  'fdt'     expression used to display for a closed fold
    730 'formatexpr'	  'fex'     expression used with "gq" command
    731 'formatlistpat'   'flp'     pattern used to recognize a list header
    732 'formatoptions'   'fo'	    how automatic formatting is to be done
    733 'formatprg'	  'fp'	    name of external program used with "gq" command
    734 'fsync'		  'fs'	    whether to invoke fsync() after file write
    735 'grepformat'	  'gfm'     format of 'grepprg' output
    736 'grepprg'	  'gp'	    program to use for ":grep"
    737 'guicursor'	  'gcr'     GUI: settings for cursor shape and blinking
    738 'guifont'	  'gfn'     GUI: Name(s) of font(s) to be used
    739 'guifontwide'	  'gfw'     list of font names for double-wide characters
    740 'guioptions'	  'go'	    GUI: Which components and options are used
    741 'guitablabel'	  'gtl'     GUI: custom label for a tab page
    742 'guitabtooltip'   'gtt'     GUI: custom tooltip for a tab page
    743 'helpfile'	  'hf'	    full path name of the main help file
    744 'helpheight'	  'hh'	    minimum height of a new help window
    745 'helplang'	  'hlg'     preferred help languages
    746 'hidden'	  'hid'     don't unload buffer when it is |abandon|ed
    747 'history'	  'hi'	    number of command-lines that are remembered
    748 'hlsearch'	  'hls'     highlight matches with last search pattern
    749 'icon'			    let Vim set the text of the window icon
    750 'iconstring'		    string to use for the Vim icon text
    751 'ignorecase'	  'ic'	    ignore case in search patterns
    752 'imcmdline'	  'imc'     use IM when starting to edit a command line
    753 'imdisable'	  'imd'     do not use the IM in any mode
    754 'iminsert'	  'imi'     use :lmap or IM in Insert mode
    755 'imsearch'	  'ims'     use :lmap or IM when typing a search pattern
    756 'include'	  'inc'     pattern to be used to find an include file
    757 'includeexpr'	  'inex'    expression used to process an include line
    758 'incsearch'	  'is'	    highlight match while typing search pattern
    759 'indentexpr'	  'inde'    expression used to obtain the indent of a line
    760 'indentkeys'	  'indk'    keys that trigger indenting with 'indentexpr'
    761 'infercase'	  'inf'     adjust case of match for keyword completion
    762 'isfname'	  'isf'     characters included in file names and pathnames
    763 'isident'	  'isi'     characters included in identifiers
    764 'iskeyword'	  'isk'     characters included in keywords
    765 'isprint'	  'isp'     printable characters
    766 'joinspaces'	  'js'	    two spaces after a period with a join command
    767 'jumpoptions'	  'jop'     specifies how jumping is done
    768 'keymap'	  'kmp'     name of a keyboard mapping
    769 'keymodel'	  'km'	    enable starting/stopping selection with keys
    770 'keywordprg'	  'kp'	    program to use for the "K" command
    771 'langmap'	  'lmap'    alphabetic characters for other language mode
    772 'langmenu'	  'lm'	    language to be used for the menus
    773 'langremap'	  'lrm'	    do apply 'langmap' to mapped characters
    774 'laststatus'	  'ls'	    tells when last window has status lines
    775 'lazyredraw'	  'lz'	    don't redraw while executing macros
    776 'lhistory'	  'lhi'	    maximum number of location lists in history
    777 'linebreak'	  'lbr'     wrap long lines at a blank
    778 'lines'			    number of lines in the display
    779 'linespace'	  'lsp'     number of pixel lines to use between characters
    780 'lisp'			    automatic indenting for Lisp
    781 'lispoptions'	  'lop'     changes how Lisp indenting is done
    782 'lispwords'	  'lw'	    words that change how lisp indenting works
    783 'list'			    show <Tab> and <EOL>
    784 'listchars'	  'lcs'     characters for displaying in list mode
    785 'loadplugins'	  'lpl'     load plugin scripts when starting up
    786 'makeef'	  'mef'     name of the errorfile for ":make"
    787 'makeencoding'	  'menc'    encoding of external make/grep commands
    788 'makeprg'	  'mp'	    program to use for the ":make" command
    789 'matchpairs'	  'mps'     pairs of characters that "%" can match
    790 'matchtime'	  'mat'     tenths of a second to show matching paren
    791 'maxcombine'	  'mco'     maximum nr of combining characters displayed
    792 'maxfuncdepth'	  'mfd'     maximum recursive depth for user functions
    793 'maxmapdepth'	  'mmd'     maximum recursive depth for mapping
    794 'maxmempattern'   'mmp'     maximum memory (in Kbyte) used for pattern search
    795 'menuitems'	  'mis'     maximum number of items in a menu
    796 'mkspellmem'	  'msm'     memory used before |:mkspell| compresses the tree
    797 'modeline'	  'ml'	    recognize modelines at start or end of file
    798 'modelineexpr'	  'mle'	    allow setting expression options from a modeline
    799 'modelines'	  'mls'     number of lines checked for modelines
    800 'modifiable'	  'ma'	    changes to the text are not possible
    801 'modified'	  'mod'     buffer has been modified
    802 'more'			    pause listings when the whole screen is filled
    803 'mouse'			    enable the use of mouse clicks
    804 'mousefocus'	  'mousef'  keyboard focus follows the mouse
    805 'mousehide'	  'mh'	    hide mouse pointer while typing
    806 'mousemodel'	  'mousem'  changes meaning of mouse buttons
    807 'mousemoveevent'  'mousemev'  report mouse moves with <MouseMove>
    808 'mousescroll'		    amount to scroll by when scrolling with a mouse
    809 'mouseshape'	  'mouses'  shape of the mouse pointer in different modes
    810 'mousetime'	  'mouset'  max time between mouse double-click
    811 'nrformats'	  'nf'	    number formats recognized for CTRL-A command
    812 'number'	  'nu'	    print the line number in front of each line
    813 'numberwidth'	  'nuw'     number of columns used for the line number
    814 'omnifunc'	  'ofu'     function for filetype-specific completion
    815 'opendevice'	  'odev'    allow reading/writing devices on MS-Windows
    816 'operatorfunc'	  'opfunc'  function to be called for |g@| operator
    817 'packpath'	  'pp'      list of directories used for packages
    818 'paragraphs'	  'para'    nroff macros that separate paragraphs
    819 'patchexpr'	  'pex'     expression used to patch a file
    820 'patchmode'	  'pm'	    keep the oldest version of a file
    821 'path'		  'pa'	    list of directories searched with "gf" et.al.
    822 'preserveindent'  'pi'	    preserve the indent structure when reindenting
    823 'previewheight'   'pvh'     height of the preview window
    824 'previewwindow'   'pvw'     identifies the preview window
    825 'pumheight'	  'ph'	    maximum number of items to show in the popup menu
    826 'pumwidth'	  'pw'	    minimum width of the popup menu
    827 'pyxversion'	  'pyx'	    Python version used for pyx* commands
    828 'quoteescape'	  'qe'	    escape characters used in a string
    829 'readonly'	  'ro'	    disallow writing the buffer
    830 'redrawtime'	  'rdt'     timeout for 'hlsearch' and |:match| highlighting
    831 'regexpengine'	  're'	    default regexp engine to use
    832 'relativenumber'  'rnu'	    show relative line number in front of each line
    833 'report'		    threshold for reporting nr. of lines changed
    834 'revins'	  'ri'	    inserting characters will work backwards
    835 'rightleft'	  'rl'	    window is right-to-left oriented
    836 'rightleftcmd'	  'rlc'     commands for which editing works right-to-left
    837 'ruler'		  'ru'	    show cursor line and column in the status line
    838 'rulerformat'	  'ruf'     custom format for the ruler
    839 'runtimepath'	  'rtp'     list of directories used for runtime files
    840 'scroll'	  'scr'     lines to scroll with CTRL-U and CTRL-D
    841 'scrollbind'	  'scb'     scroll in window as other windows scroll
    842 'scrolljump'	  'sj'	    minimum number of lines to scroll
    843 'scrolloff'	  'so'	    minimum nr. of lines above and below cursor
    844 'scrollopt'	  'sbo'     how 'scrollbind' should behave
    845 'sections'	  'sect'    nroff macros that separate sections
    846 'secure'		    secure mode for reading .vimrc in current dir
    847 'selection'	  'sel'     what type of selection to use
    848 'selectmode'	  'slm'     when to use Select mode instead of Visual mode
    849 'sessionoptions'  'ssop'    options for |:mksession|
    850 'shada'		  'sd'	    use |shada| file upon startup and exiting
    851 'shell'		  'sh'	    name of shell to use for external commands
    852 'shellcmdflag'	  'shcf'    flag to shell to execute one command
    853 'shellpipe'	  'sp'	    string to put output of ":make" in error file
    854 'shellquote'	  'shq'     quote character(s) for around shell command
    855 'shellredir'	  'srr'     string to put output of filter in a temp file
    856 'shellslash'	  'ssl'     use forward slash for shell file names
    857 'shelltemp'	  'stmp'    whether to use a temp file for shell commands
    858 'shellxescape'	  'sxe'     characters to escape when 'shellxquote' is (
    859 'shellxquote'	  'sxq'     like 'shellquote', but include redirection
    860 'shiftround'	  'sr'	    round indent to multiple of shiftwidth
    861 'shiftwidth'	  'sw'	    number of spaces to use for (auto)indent step
    862 'shortmess'	  'shm'     list of flags, reduce length of messages
    863 'showbreak'	  'sbr'     string to use at the start of wrapped lines
    864 'showcmd'	  'sc'	    show (partial) command somewhere
    865 'showcmdloc'	  'sloc'    where to show (partial) command
    866 'showfulltag'	  'sft'     show full tag pattern when completing tag
    867 'showmatch'	  'sm'	    briefly jump to matching bracket if insert one
    868 'showmode'	  'smd'     message on status line to show current mode
    869 'showtabline'	  'stal'    tells when the tab pages line is displayed
    870 'sidescroll'	  'ss'	    minimum number of columns to scroll horizontal
    871 'sidescrolloff'   'siso'    min. nr. of columns to left and right of cursor
    872 'signcolumn'	  'scl'	    when and how to display the sign column
    873 'smartcase'	  'scs'     no ignore case when pattern has uppercase
    874 'smartindent'	  'si'	    smart autoindenting for C programs
    875 'smarttab'	  'sta'     <Tab> in leading whitespace indents by 'shiftwidth'
    876 'smoothscroll'	  'sms'     scroll by screen lines when 'wrap' is set
    877 'softtabstop'	  'sts'     number of columns between two soft tab stops
    878 'spell'			    enable spell checking
    879 'spellcapcheck'   'spc'     pattern to locate end of a sentence
    880 'spellfile'	  'spf'     files where |zg| and |zw| store words
    881 'spelllang'	  'spl'     language(s) to do spell checking for
    882 'spelloptions'	  'spo'     options for spell checking
    883 'spellsuggest'	  'sps'     method(s) used to suggest spelling corrections
    884 'splitbelow'	  'sb'	    new window from split is below the current one
    885 'splitkeep'	  'spk'     determines scroll behavior for split windows
    886 'splitright'	  'spr'     new window is put right of the current one
    887 'startofline'	  'sol'     commands move cursor to first non-blank in line
    888 'statuscolumn'	  'stc'	    custom format for the status column
    889 'statusline'	  'stl'     custom format for the status line
    890 'suffixes'	  'su'	    suffixes that are ignored with multiple match
    891 'suffixesadd'	  'sua'     suffixes added when searching for a file
    892 'swapfile'	  'swf'     whether to use a swapfile for a buffer
    893 'switchbuf'	  'swb'     sets behavior when switching to another buffer
    894 'synmaxcol'	  'smc'     maximum column to find syntax items
    895 'syntax'	  'syn'     syntax to be loaded for current buffer
    896 'tabclose'	  'tcl'     which tab page to focus when closing a tab
    897 'tabline'	  'tal'     custom format for the console tab pages line
    898 'tabpagemax'	  'tpm'     maximum number of tab pages for |-p| and "tab all"
    899 'tabstop'	  'ts'	    number of columns between two tab stops
    900 'tagbsearch'	  'tbs'     use binary searching in tags files
    901 'tagcase'	  'tc'      how to handle case when searching in tags files
    902 'tagfunc'	  'tfu'	    function to get list of tag matches
    903 'taglength'	  'tl'	    number of significant characters for a tag
    904 'tagrelative'	  'tr'	    file names in tag file are relative
    905 'tags'		  'tag'     list of file names used by the tag command
    906 'tagstack'	  'tgst'    push tags onto the tag stack
    907 'term'			    name of the terminal
    908 'termbidi'	  'tbidi'   terminal takes care of bi-directionality
    909 'termguicolors'	  'tgc'     enable 24-bit RGB color in the TUI
    910 'textwidth'	  'tw'	    maximum width of text that is being inserted
    911 'thesaurus'	  'tsr'     list of thesaurus files for keyword completion
    912 'thesaurusfunc'	  'tsrfu'   function to be used for thesaurus completion
    913 'tildeop'	  'top'     tilde command "~" behaves like an operator
    914 'timeout'	  'to'	    time out on mappings and key codes
    915 'timeoutlen'	  'tm'	    time out time in milliseconds
    916 'title'			    let Vim set the title of the window
    917 'titlelen'		    percentage of 'columns' used for window title
    918 'titleold'		    old title, restored when exiting
    919 'titlestring'		    string to use for the Vim window title
    920 'ttimeout'		    time out on mappings
    921 'ttimeoutlen'	  'ttm'     time out time for key codes in milliseconds
    922 'ttytype'	  'tty'     alias for 'term'
    923 'undodir'	  'udir'    where to store undo files
    924 'undofile'	  'udf'	    save undo information in a file
    925 'undolevels'	  'ul'	    maximum number of changes that can be undone
    926 'undoreload'	  'ur'	    max nr of lines to save for undo on a buffer reload
    927 'updatecount'	  'uc'	    after this many characters flush swap file
    928 'updatetime'	  'ut'	    after this many milliseconds flush swap file
    929 'varsofttabstop'  'vsts'    a list of number of columns between soft tab stops
    930 'vartabstop'	  'vts'	    a list of number of columns between tab stops
    931 'verbose'	  'vbs'     give informative messages
    932 'verbosefile'	  'vfile'   file to write messages in
    933 'viewdir'	  'vdir'    directory where to store files with :mkview
    934 'viewoptions'	  'vop'     specifies what to save for :mkview
    935 'virtualedit'	  've'	    when to use virtual editing
    936 'visualbell'	  'vb'	    use visual bell instead of beeping
    937 'warn'			    warn for shell command when buffer was changed
    938 'whichwrap'	  'ww'	    allow specified keys to cross line boundaries
    939 'wildchar'	  'wc'	    command-line character for wildcard expansion
    940 'wildcharm'	  'wcm'     like 'wildchar' but also works when mapped
    941 'wildignore'	  'wig'     files matching these patterns are not completed
    942 'wildignorecase'  'wic'     ignore case when completing file names
    943 'wildmenu'	  'wmnu'    use menu for command line completion
    944 'wildmode'	  'wim'     mode for 'wildchar' command-line expansion
    945 'wildoptions'	  'wop'     specifies how command line completion is done
    946 'winaltkeys'	  'wak'     when the windows system handles ALT keys
    947 'window'	  'wi'	    nr of lines to scroll for CTRL-F and CTRL-B
    948 'winfixbuf'	  'wfb'     keep window focused on a single buffer
    949 'winfixheight'	  'wfh'     keep window height when opening/closing windows
    950 'winfixwidth'	  'wfw'     keep window width when opening/closing windows
    951 'winheight'	  'wh'	    minimum number of lines for the current window
    952 'winhighlight'	  'winhl'   window-local highlighting
    953 'winminheight'	  'wmh'     minimum number of lines for any window
    954 'winminwidth'	  'wmw'     minimal number of columns for any window
    955 'winwidth'	  'wiw'     minimal number of columns for current window
    956 'wrap'			    long lines wrap and continue on the next line
    957 'wrapmargin'	  'wm'	    chars from the right where wrapping starts
    958 'wrapscan'	  'ws'	    searches wrap around the end of the file
    959 'write'			    writing to a file is allowed
    960 'writeany'	  'wa'	    write to file with no need for "!" override
    961 'writebackup'	  'wb'	    make a backup before overwriting a file
    962 'writedelay'	  'wd'	    delay this many msec for each char (for debug)
    963 
    964 ------------------------------------------------------------------------------
    965 *Q_ur*		Undo/Redo commands
    966 
    967 |u|       N  u		undo last N changes
    968 |CTRL-R|  N  CTRL-R	redo last N undone changes
    969 |U|          U		restore last changed line
    970 
    971 ------------------------------------------------------------------------------
    972 *Q_et*		External commands
    973 
    974 |:!|		:!{command}	execute {command} with a shell
    975 |K|		   K		lookup keyword under the cursor with
    976 			   'keywordprg' program (default: "man")
    977 
    978 ------------------------------------------------------------------------------
    979 *Q_qf*		Quickfix commands
    980 
    981 |:cc|		:cc [nr]	display error [nr] (default is the same again)
    982 |:cnext|	:cn		display the next error
    983 |:cprevious|	:cp		display the previous error
    984 |:clist|	:cl		list all errors
    985 |:cfile|	:cf		read errors from the file 'errorfile'
    986 |:cgetbuffer|	:cgetb		like :cbuffer but don't jump to the first error
    987 |:cgetfile|	:cg		like :cfile but don't jump to the first error
    988 |:cgetexpr|	:cgete		like :cexpr but don't jump to the first error
    989 |:caddfile|	:caddf		add errors from the error file to the current
    990 			   quickfix list
    991 |:caddexpr|	:cad		add errors from an expression to the current
    992 			   quickfix list
    993 |:cbuffer|	:cb		read errors from text in a buffer
    994 |:cexpr|	:cex		read errors from an expression
    995 |:cquit|	:cq		quit without writing and return error code (to
    996 			   the compiler)
    997 |:make|		:make [args]	start make, read errors, and jump to first
    998 			   error
    999 |:grep|		:gr[ep] [args]	execute 'grepprg' to find matches and jump to
   1000 			   the first one
   1001 
   1002 ------------------------------------------------------------------------------
   1003 *Q_vc*		Various commands
   1004 
   1005 |CTRL-L|	   CTRL-L	clear and redraw the screen
   1006 |CTRL-G|	   CTRL-G	show current file name (with path) and cursor
   1007 			   position
   1008 |ga|		   ga		show ascii value of character under cursor in
   1009 			   decimal, hex, and octal
   1010 |g8|		   g8		for utf-8 encoding: show byte sequence for
   1011 			   character under cursor in hex
   1012 |g_CTRL-G|	   g CTRL-G	show cursor column, line, and character
   1013 			   position
   1014 |CTRL-C|	   CTRL-C	during searches: Interrupt the search
   1015 |<Del>|		   <Del>	while entering a count: delete last character
   1016 |:version|	:ve[rsion]	show version information
   1017 |:normal|	:norm[al][!] {commands}
   1018 			execute Normal mode commands
   1019 |gQ|		   gQ		switch to "Ex" mode
   1020 
   1021 |:redir|	:redir >{file}		redirect messages to {file}
   1022 |:silent|	:silent[!] {command}	execute {command} silently
   1023 |:confirm|	:confirm {command}	quit, write, etc., asking about
   1024 				unsaved changes or read-only files
   1025 |:browse|	:browse {command}	open/read/write file, using a
   1026 				file selection dialog
   1027 
   1028 ------------------------------------------------------------------------------
   1029 *Q_ce*		Command-line editing
   1030 
   1031 |c_<Esc>|	<Esc>		   abandon command-line (if 'wildchar' is
   1032 			      <Esc>, type it twice)
   1033 
   1034 |c_CTRL-V|	CTRL-V {char}	   insert {char} literally
   1035 |c_CTRL-V|	CTRL-V {number}    enter decimal value of character (up to
   1036 			      three digits)
   1037 |c_CTRL-K|	CTRL-K {char1} {char2}
   1038 			   enter digraph (See |Q_di|)
   1039 |c_CTRL-R|	CTRL-R {register}  insert the contents of a register
   1040 
   1041 |c_<Left>|	<Left>/<Right>	   cursor left/right
   1042 |c_<S-Left>|	<S-Left>/<S-Right> cursor one word left/right
   1043 |c_CTRL-B|	CTRL-B/CTRL-E	   cursor to beginning/end of command-line
   1044 
   1045 |c_<BS>|	<BS>		   delete the character in front of the cursor
   1046 |c_<Del>|	<Del>		   delete the character under the cursor
   1047 |c_CTRL-W|	CTRL-W		   delete the word in front of the cursor
   1048 |c_CTRL-U|	CTRL-U		   remove all characters
   1049 
   1050 |c_<Up>|	<Up>/<Down>	   recall older/newer command-line that starts
   1051 			      with current command
   1052 |c_<S-Up>|	<S-Up>/<S-Down>	   recall older/newer command-line from history
   1053 |c_CTRL-G|	CTRL-G		   next match when 'incsearch' is active
   1054 |c_CTRL-T|	CTRL-T		   previous match when 'incsearch' is active
   1055 |:history|	:his[tory]	   show older command-lines
   1056 
   1057 Context-sensitive completion on the command-line:
   1058 
   1059 |c_wildchar|	'wildchar'  (default: <Tab>)
   1060 			do completion on the pattern in front of the
   1061 			   cursor; if there are multiple matches,
   1062 			   beep and show the first one; further
   1063 			   'wildchar' will show the next ones
   1064 |c_CTRL-D|	CTRL-D		list all names that match the pattern in
   1065 			   front of the cursor
   1066 |c_CTRL-A|	CTRL-A		insert all names that match pattern in front
   1067 			   of cursor
   1068 |c_CTRL-L|	CTRL-L		insert longest common part of names that
   1069 			   match pattern
   1070 |c_CTRL-N|	CTRL-N		after 'wildchar' with multiple matches: go
   1071 			   to next match
   1072 |c_CTRL-P|	CTRL-P		after 'wildchar' with multiple matches: go
   1073 			   to previous match
   1074 
   1075 ------------------------------------------------------------------------------
   1076 *Q_ra*		Ex ranges
   1077 
   1078 |:range|	,		separates two line numbers
   1079 |:range|	;		idem, set cursor to the first line number
   1080 			before interpreting the second one
   1081 
   1082 |:range|	{number}	an absolute line number
   1083 |:range|	.		the current line
   1084 |:range|	$		the last line in the file
   1085 |:range|	%		equal to 1,$ (the entire file)
   1086 |:range|	*		equal to '<,'> (visual area)
   1087 |:range|	't		position of mark t
   1088 |:range|	/{pattern}[/]	the next line where {pattern} matches
   1089 |:range|	?{pattern}[?]	the previous line where {pattern} matches
   1090 
   1091 |:range|	+[num]		add [num] to the preceding line number
   1092 			   (default: 1)
   1093 |:range|	-[num]		subtract [num] from the preceding line
   1094 			   number (default: 1)
   1095 
   1096 ------------------------------------------------------------------------------
   1097 *Q_ex*		Special Ex characters
   1098 
   1099 |:bar|      |		separates two commands (not for ":global" and ":!")
   1100 |:quote|    "		begins comment
   1101 
   1102 |:_%|       %		current file name (only where a file name is expected)
   1103 |:_#|       #[num]	alternate file name [num] (only where a file name is
   1104 		   expected)
   1105 Note: The next seven are typed literally; these are not special keys!
   1106 |:<abuf>|   <abuf>	buffer number, for use in an autocommand (only where a
   1107 		   file name is expected)
   1108 |:<afile>|  <afile>	file name, for use in an autocommand (only where a
   1109 		   file name is expected)
   1110 |:<amatch>| <amatch>	what matched with the pattern, for use in an
   1111 		   autocommand (only where a file name is expected)
   1112 |:<cword>|  <cword>	word under the cursor (only where a file name is
   1113 		   expected)
   1114 |:<cWORD>|  <cWORD>	WORD under the cursor (only where a file name is
   1115 		   expected) (see |WORD|)
   1116 |:<cfile>|  <cfile>	file name under the cursor (only where a file name is
   1117 		   expected)
   1118 |:<script>| <script>	file name of a ":source"d file, within that file (only
   1119 		   where a file name is expected)
   1120 
   1121 	After "%", "#", "<cfile>", "<script>" or "<afile>"
   1122 	|::p|	    :p		full path
   1123 	|::h|	    :h		head (file name removed)
   1124 	|::t|	    :t		tail (file name only)
   1125 	|::r|	    :r		root (extension removed)
   1126 	|::e|	    :e		extension
   1127 	|::s|	    :s/{pat}/{repl}/	substitute {pat} with {repl}
   1128 
   1129 ------------------------------------------------------------------------------
   1130 *Q_st*		Starting Vim
   1131 
   1132 |-file|	   vim [options] {file} ..	start editing one or more files
   1133 |--|	   vim [options] -		read file from stdin
   1134 |-tag|	   vim [options] -t {tag}	edit the file associated with {tag}
   1135 |-qf|	   vim [options] -q [fname]	start editing in QuickFix mode,
   1136 				   display the first error
   1137 
   1138 Most useful Vim arguments (for full list see |startup-options|)
   1139 
   1140 |-+|	+[num]		    put the cursor at line [num] (default: last line)
   1141 |-+c|	+{command}	    execute {command} after loading the file
   1142 |-+/|	+/{pat} {file} ..   put the cursor at the first occurrence of {pat}
   1143 |-e|	-e		    Ex mode, start vim in Ex mode
   1144 |-R|	-R		    Read-only mode, implies -n
   1145 |-m|	-m		    modifications not allowed (resets 'write' option)
   1146 |-d|	-d		    |diff-mode|
   1147 |-b|	-b		    binary mode
   1148 |-l|	-l		    lisp mode
   1149 |-A|	-A		    Arabic mode ('arabic' is set)
   1150 |-H|	-H		    Hebrew mode (Hebrew keymap & 'rightleft' are set)
   1151 |-V|	-V		    Verbose, give informative messages
   1152 |-r|	-r		    give list of swap files
   1153 |-r|	-r {file} ..	    recover aborted edit session
   1154 |-n|	-n		    do not create a swap file
   1155 |-o|	-o [num]	    open [num] windows (default: one for each file)
   1156 |-s|	-s {scriptin}	    first read commands from the file {scriptin}
   1157 |-w|	-w {scriptout}	    write typed chars to file {scriptout} (append)
   1158 |-W|	-W {scriptout}	    write typed chars to file {scriptout} (overwrite)
   1159 |-u|	-u {vimrc}	    read inits from {vimrc} instead of other inits
   1160 |-i|	-i {shada}	    read info from {shada} instead of other files
   1161 |---|	--		    end of options, other arguments are file names
   1162 |--help|    --help	    show list of arguments and exit
   1163 |--version| --version	    show version info and exit
   1164 |--|	-		    read file from stdin
   1165 
   1166 ------------------------------------------------------------------------------
   1167 *Q_ed*		Editing a file
   1168 
   1169    Without !: Fail if changes have been made to the current buffer.
   1170       With !: Discard any changes to the current buffer.
   1171 |:edit_f|  :e[dit][!] {file}	edit {file}
   1172 |:edit|    :e[dit][!]		reload the current file
   1173 |:enew|    :ene[w][!]		edit a new, unnamed buffer
   1174 |:find|    :fin[d][!] {file}	find {file} in 'path' and edit it
   1175 
   1176 |CTRL-^|   N  CTRL-^		edit alternate file N (equivalent to ":e #N")
   1177 |gf|          gf  or ]f		edit the file whose name is under the cursor
   1178 |:pwd|     :pwd			print the current directory name
   1179 |:cd|      :cd [path]		change the current directory to [path]
   1180 |:cd-|     :cd -		back to previous current directory
   1181 |:file|    :f[ile]		print the current file name and the cursor
   1182 			   position
   1183 |:file|    :f[ile] {name}	set the current file name to {name}
   1184 |:files|   :files		show alternate file names
   1185 
   1186 ------------------------------------------------------------------------------
   1187 *Q_fl*		Using the argument list			|argument-list|
   1188 
   1189 |:args|	   :ar[gs]		print the argument list, with the current file
   1190 			   in "[]"
   1191 |:all|	   :all  or :sall	open a window for every file in the arg list
   1192 |:wn|	   :wn[ext][!]		write file and edit next file
   1193 |:wn|	   :wn[ext][!] {file}	write to {file} and edit next file, unless
   1194 			   {file} exists; With !, overwrite existing
   1195 			   file
   1196 |:wN|	   :wN[ext][!] [file]	write file and edit previous file
   1197 
   1198      in current window    in new window	~
   1199 |:argument|  :argu[ment] N	  :sar[gument] N	edit file N
   1200 |:next|      :n[ext]		  :sn[ext]		edit next file
   1201 |:next_f|    :n[ext] {arglist}	  :sn[ext] {arglist}	define new arg list
   1202 						   and edit first file
   1203 |:Next|      :N[ext]		  :sN[ext]		edit previous file
   1204 |:first|     :fir[st]		  :sfir[st]		edit first file
   1205 |:last|      :la[st]		  :sla[st]		edit last file
   1206 
   1207 ------------------------------------------------------------------------------
   1208 *Q_wq*		Writing and quitting
   1209 
   1210 |:w|	  :[range]w[rite][!]		write to the current file
   1211 |:w_f|	  :[range]w[rite] {file}	write to {file}, unless it already
   1212 				   exists
   1213 |:w_f|	  :[range]w[rite]! {file}	write to {file}.  Overwrite an existing
   1214 				   file
   1215 |:w_a|	  :[range]w[rite][!] >>		append to the current file
   1216 |:w_a|	  :[range]w[rite][!] >> {file}	append to {file}
   1217 |:w_c|	  :[range]w[rite] !{cmd}	execute {cmd} with [range] lines as
   1218 				   standard input
   1219 |:up|	  :[range]up[date][!]		write to current file if modified
   1220 |:wall|	  :wa[ll][!]			write all changed buffers
   1221 
   1222 |:q|	  :q[uit]		quit current buffer, unless changes have been
   1223 			   made; Exit Vim when there are no other
   1224 			   non-help buffers
   1225 |:q|	  :q[uit]!		quit current buffer always, discard any
   1226 			   changes.  Exit Vim when there are no other
   1227 			   non-help buffers
   1228 |:qa|	  :qa[ll]		exit Vim, unless changes have been made
   1229 |:qa|	  :qa[ll]!		exit Vim always, discard any changes
   1230 |:cq|	  :cq			quit without writing and return error code
   1231 
   1232 |:wq|	  :wq[!]		write the current file and exit
   1233 |:wq|	  :wq[!] {file}		write to {file} and exit
   1234 |:xit|	  :x[it][!] [file]	like ":wq" but write only when changes have
   1235 			   been made
   1236 |ZZ|	     ZZ			same as ":x"
   1237 |ZQ|	     ZQ			same as ":q!"
   1238 |:xall|	  :xa[ll][!]  or :wqall[!]
   1239 			write all changed buffers and exit
   1240 
   1241 |:stop|	  :st[op][!]		suspend Vim or start new shell; if 'aw' option
   1242 			   is set and [!] not given write the buffer
   1243 |CTRL-Z|     CTRL-Z		same as ":stop"
   1244 
   1245 ------------------------------------------------------------------------------
   1246 *Q_ac*		Automatic Commands
   1247 
   1248 |shada-file|	read registers, marks, history at startup, save when exiting.
   1249 
   1250 |:rshada|	:rsh[ada] [file]	read info from ShaDa file [file]
   1251 |:rshada|	:rsh[ada]! [file]	idem, overwrite existing info
   1252 |:wshada|	:wsh[ada] [file]	add info to ShaDa file [file]
   1253 |:wshada|	:wsh[ada]! [file]	write info to ShaDa file [file]
   1254 
   1255 |modeline|	Automatic option setting when editing a file
   1256 
   1257 |modeline|	vim:{set-arg}: ..	In the first and last lines of the
   1258 				file (see 'ml' option), {set-arg} is
   1259 				given as an argument to ":set"
   1260 
   1261 |autocommand|	Automatic execution of commands on certain events.
   1262 
   1263 |:autocmd|	:au			  list all autocommands
   1264 |:autocmd|	:au {event}		  list all autocommands for {event}
   1265 |:autocmd|	:au {event} {pat}	  list all autocommands for {event}
   1266 				  with {pat}
   1267 |:autocmd|	:au {event} {pat} {cmd}	  enter new autocommands for {event}
   1268 				  with {pat}
   1269 |:autocmd|	:au!			  remove all autocommands
   1270 |:autocmd|	:au! {event}		  remove all autocommands for {event}
   1271 |:autocmd|	:au! * {pat}		  remove all autocommands for {pat}
   1272 |:autocmd|	:au! {event} {pat}	  remove all autocommands for {event}
   1273 				  with {pat}
   1274 |:autocmd|	:au! {event} {pat} {cmd}  remove all autocommands for {event}
   1275 				  with {pat} and enter new one
   1276 
   1277 ------------------------------------------------------------------------------
   1278 *Q_wi*		Multi-window commands
   1279 
   1280 |CTRL-W_s|	CTRL-W s  or  :split	split window into two parts
   1281 |:split_f|	:split {file}		split window and edit {file} in one of
   1282 				   them
   1283 |:vsplit|	:vsplit {file}		same, but split vertically
   1284 |:vertical|	:vertical {cmd}		make {cmd} split vertically
   1285 
   1286 |:sfind|	:sf[ind] {file}		split window, find {file} in 'path'
   1287 				   and edit it
   1288 |:terminal|	:terminal {cmd}		open a terminal window
   1289 |CTRL-W_]|	CTRL-W ]		split window and jump to tag under
   1290 				   cursor
   1291 |CTRL-W_f|	CTRL-W f		split window and edit file name under
   1292 				   the cursor
   1293 |CTRL-W_^|	CTRL-W ^		split window and edit alternate file
   1294 |CTRL-W_n|	CTRL-W n  or  :new	create new empty window
   1295 |CTRL-W_q|	CTRL-W q  or  :q[uit]	quit editing and close window
   1296 |CTRL-W_c|	CTRL-W c  or  :clo[se]	make buffer hidden and close window
   1297 |CTRL-W_o|	CTRL-W o  or  :on[ly]	make current window only one on the
   1298 				   screen
   1299 
   1300 |CTRL-W_j|	CTRL-W j		move cursor to window below
   1301 |CTRL-W_k|	CTRL-W k		move cursor to window above
   1302 |CTRL-W_CTRL-W|	CTRL-W CTRL-W		move cursor to window below (wrap)
   1303 |CTRL-W_W|	CTRL-W W		move cursor to window above (wrap)
   1304 |CTRL-W_t|	CTRL-W t		move cursor to top window
   1305 |CTRL-W_b|	CTRL-W b		move cursor to bottom window
   1306 |CTRL-W_p|	CTRL-W p		move cursor to previous active window
   1307 
   1308 |CTRL-W_r|	CTRL-W r		rotate windows downwards
   1309 |CTRL-W_R|	CTRL-W R		rotate windows upwards
   1310 |CTRL-W_x|	CTRL-W x		exchange current window with next one
   1311 
   1312 |CTRL-W_=|	CTRL-W =		make all windows equal height & width
   1313 |CTRL-W_-|	CTRL-W -		decrease current window height
   1314 |CTRL-W_+|	CTRL-W +		increase current window height
   1315 |CTRL-W__|	CTRL-W _		set current window height (default:
   1316 				   very high)
   1317 
   1318 |CTRL-W_<|	CTRL-W <		decrease current window width
   1319 |CTRL-W_>|	CTRL-W >		increase current window width
   1320 |CTRL-W_bar|	CTRL-W |		set current window width (default:
   1321 				   widest possible)
   1322 
   1323 ------------------------------------------------------------------------------
   1324 *Q_bu*		Buffer list commands
   1325 
   1326 |:buffers|	:buffers  or  :files	list all known buffer and file names
   1327 
   1328 |:ball|		:ball	  or  :sball	edit all args/buffers
   1329 |:unhide|	:unhide   or  :sunhide	edit all loaded buffers
   1330 
   1331 |:badd|		:badd {fname}		add file name {fname} to the list
   1332 |:bunload|	:bunload[!] [N]		unload buffer [N] from memory
   1333 |:bdelete|	:bdelete[!] [N]		unload buffer [N] and delete it from
   1334 				   the buffer list
   1335 
   1336 	in current window  in new window       ~
   1337 |:buffer|	:[N]buffer [N]     :[N]sbuffer [N]     to arg/buf N
   1338 |:bnext|	:[N]bnext [N]      :[N]sbnext [N]      to Nth next arg/buf
   1339 |:bNext|	:[N]bNext [N]      :[N]sbNext [N]      to Nth previous arg/buf
   1340 |:bprevious|	:[N]bprevious [N]  :[N]sbprevious [N]  to Nth previous arg/buf
   1341 |:bfirst|	:bfirst	           :sbfirst            to first arg/buf
   1342 |:blast|	:blast	           :sblast             to last arg/buf
   1343 |:bmodified|	:[N]bmod [N]       :[N]sbmod [N]       to Nth modified buf
   1344 
   1345 ------------------------------------------------------------------------------
   1346 *Q_sy*		Syntax Highlighting
   1347 
   1348 |:syn-on|	:syntax on		start using syntax highlighting
   1349 |:syn-off|	:syntax off		stop using syntax highlighting
   1350 
   1351 |:syn-keyword|	:syntax keyword {group-name} {keyword} ..
   1352 				add a syntax keyword item
   1353 |:syn-match|	:syntax match {group-name} {pattern} ...
   1354 				add syntax match item
   1355 |:syn-region|	:syntax region {group-name} {pattern} ...
   1356 				add syntax region item
   1357 |:syn-sync|	:syntax sync [ccomment | lines {N} | ...]
   1358 				tell syntax how to sync
   1359 |:syntax|	:syntax [list]		list current syntax items
   1360 |:syn-clear|	:syntax clear		clear all syntax info
   1361 
   1362 |:highlight|	:highlight clear	clear all highlight info
   1363 |:highlight|	:highlight {group-name} {key}={arg} ..
   1364 				set highlighting for {group-name}
   1365 
   1366 |:filetype|	:filetype on		switch on file type detection, without
   1367 				syntax highlighting
   1368 |:filetype|	:filetype plugin indent on
   1369 				switch on file type detection, with
   1370 				automatic indenting and settings
   1371 
   1372 ------------------------------------------------------------------------------
   1373 *Q_gu*		GUI commands
   1374 
   1375 |:menu|		:menu			list all menus
   1376 |:menu|		:menu {mpath}		list menus starting with {mpath}
   1377 |:menu|		:menu {mpath} {rhs}	add menu {mpath}, giving {rhs}
   1378 |:menu|		:menu {pri} {mpath} {rhs}
   1379 				idem, with priorities {pri}
   1380 |:menu|		:menu ToolBar.{name} {rhs}
   1381 				add toolbar item, giving {rhs}
   1382 |:tmenu|	:tmenu {mpath} {text}	add tooltip to menu {mpath}
   1383 |:unmenu|	:unmenu {mpath}		remove menu {mpath}
   1384 
   1385 ------------------------------------------------------------------------------
   1386 *Q_fo*		Folding
   1387 
   1388 'foldmethod'	set foldmethod=manual	manual folding
   1389 	set foldmethod=indent	folding by indent
   1390 	set foldmethod=expr	folding by 'foldexpr'
   1391 	set foldmethod=syntax	folding by syntax regions
   1392 	set foldmethod=marker	folding by 'foldmarker'
   1393 
   1394 |zf|		zf{motion}		operator: Define a fold manually
   1395 |:fold|		:{range}fold		define a fold for {range} lines
   1396 |zd|		zd			delete one fold under the cursor
   1397 |zD|		zD			delete all folds under the cursor
   1398 
   1399 |zo|		zo			open one fold under the cursor
   1400 |zO|		zO			open all folds under the cursor
   1401 |zc|		zc			close one fold under the cursor
   1402 |zC|		zC			close all folds under the cursor
   1403 
   1404 |zm|		zm			fold more: decrease 'foldlevel'
   1405 |zM|		zM			close all folds: make 'foldlevel' zero
   1406 |zr|		zr			reduce folding: increase 'foldlevel'
   1407 |zR|		zR			open all folds: make 'foldlevel' max.
   1408 
   1409 |zn|		zn			fold none: reset 'foldenable'
   1410 |zN|		zN			fold normal set 'foldenable'
   1411 |zi|		zi			invert 'foldenable'
   1412 
   1413 vim:tw=78:ts=8:noet:ft=help:norl: