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