Merge branch 'vim'
[MacVim.git] / runtime / doc / quickref.txt
blob460126d3655ad829e9fe8a6335f3de4652aa6806
1 *quickref.txt*  For Vim version 7.2.  Last change: 2009 Jan 22
4                   VIM REFERENCE MANUAL    by Bram Moolenaar
6                             Quick reference guide
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
32 ------------------------------------------------------------------------------
33 N is used to indicate an optional count that can be given before the command.
34 ------------------------------------------------------------------------------
35 *Q_lr*          Left-right motions
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
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
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|
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
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
125 |pattern|               Special characters in search patterns
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
146                                matches <Esc>    \e      \e
147                                matches <Tab>    \t      \t
148                                 matches <CR>    \r      \r
149                                 matches <BS>    \b      \b
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    \(\)    \(\)
158 |search-offset|         Offsets allowed after search command
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
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
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
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
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.
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
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
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
244 These 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
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
262 in 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
268 |insert-index|  alphabetical index of Insert mode commands
270 leaving 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
275 moving 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
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
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
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
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
318 |:dig|     :dig[raphs]          show current list of digraphs
319 |:dig|     :dig[raphs] {char1}{char2} {number} ...
320                                 add digraph(s) to the list
322 In 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
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
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
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
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}
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
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}
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
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
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
448 |visual-index|  list of Visual mode commands.
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)
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"
484 ------------------------------------------------------------------------------
485 *Q_re*          Repeating commands
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
512 |:map|       :ma[p] {lhs} {rhs}   Map {lhs} to {rhs} in Normal and Visual
513                                      mode.
514 |:map!|      :ma[p]! {lhs} {rhs}  Map {lhs} to {rhs} in Insert and Command-line
515                                      mode.
516 |:noremap|   :no[remap][!] {lhs} {rhs}
517                                   Same as ":map", no remapping for this {rhs}
518 |:unmap|     :unm[ap] {lhs}       Remove the mapping of {lhs} for Normal and
519                                      Visual mode.
520 |:unmap!|    :unm[ap]! {lhs}      Remove the mapping of {lhs} for Insert and
521                                      Command-line mode.
522 |:map_l|     :ma[p] [lhs]         List mappings (starting with [lhs]) for
523                                      Normal and Visual mode.
524 |:map_l!|    :ma[p]! [lhs]        List mappings (starting with [lhs]) for
525                                      Insert and Command-line mode.
526 |:cmap|      :cmap/:cunmap/:cnoremap
527                                   like ":map!"/":unmap!"/":noremap!" but for
528                                      Command-line mode only
529 |:imap|      :imap/:iunmap/:inoremap
530                                   like ":map!"/":unmap!"/":noremap!" but for
531                                      Insert mode only
532 |:nmap|      :nmap/:nunmap/:nnoremap
533                                   like ":map"/":unmap"/":noremap" but for
534                                      Normal mode only
535 |:vmap|      :vmap/:vunmap/:vnoremap
536                                   like ":map"/":unmap"/":noremap" but for
537                                      Visual mode only
538 |:omap|      :omap/:ounmap/:onoremap
539                                   like ":map"/":unmap"/":noremap" but only for
540                                      when an operator is pending
541 |:mapc|      :mapc[lear]          remove mappings for Normal and Visual mode
542 |:mapc|      :mapc[lear]!         remove mappings for Insert and Cmdline mode
543 |:imapc|     :imapc[lear]         remove mappings for Insert mode
544 |:vmapc|     :vmapc[lear]         remove mappings for Visual mode
545 |:omapc|     :omapc[lear]         remove mappings for Operator-pending mode
546 |:nmapc|     :nmapc[lear]         remove mappings for Normal mode
547 |:cmapc|     :cmapc[lear]         remove mappings for Cmdline mode
548 |:mkexrc|    :mk[exrc][!] [file]  write current mappings, abbreviations, and
549                                      settings to [file] (default: ".exrc";
550                                      use ! to overwrite)
551 |:mkvimrc|   :mkv[imrc][!] [file]
552                                   same as ":mkexrc", but with default ".vimrc"
553 |:mksession| :mks[ession][!] [file]
554                                   like ":mkvimrc", but store current files,
555                                      windows, etc. too, to be able to continue
556                                      this session later.
557 ------------------------------------------------------------------------------
558 *Q_ab*          Abbreviations
560 |:abbreviate|   :ab[breviate] {lhs} {rhs}  add abbreviation for {lhs} to {rhs}
561 |:abbreviate|   :ab[breviate] {lhs}        show abbr's that start with {lhs}
562 |:abbreviate|   :ab[breviate]              show all abbreviations
563 |:unabbreviate| :una[bbreviate] {lhs}      remove abbreviation for {lhs}
564 |:noreabbrev|   :norea[bbrev] [lhs] [rhs]  like ":ab", but don't remap [rhs]
565 |:iabbrev|      :iab/:iunab/:inoreab       like ":ab", but only for Insert mode
566 |:cabbrev|      :cab/:cunab/:cnoreab       like ":ab", but only for
567                                                 Command-line mode
568 |:abclear|      :abc[lear]                 remove all abbreviations
569 |:cabclear|     :cabc[lear]                remove all abbr's for Cmdline mode
570 |:iabclear|     :iabc[lear]                remove all abbr's for Insert mode
571 ------------------------------------------------------------------------------
572 *Q_op*          Options
574 |:set|          :se[t]                    Show all modified options.
575 |:set|          :se[t] all                Show all non-termcap options.
576 |:set|          :se[t] termcap            Show all termcap options.
577 |:set|          :se[t] {option}           Set boolean option (switch it on),
578                                           show string or number option.
579 |:set|          :se[t] no{option}         Reset boolean option (switch it off).
580 |:set|          :se[t] inv{option}        invert boolean option.
581 |:set|          :se[t] {option}={value}   Set string/number option to {value}.
582 |:set|          :se[t] {option}+={value}  append {value} to string option, add
583                                           {value} to number option
584 |:set|          :se[t] {option}-={value}  remove {value} to string option,
585                                           subtract {value} from number option
586 |:set|          :se[t] {option}?          Show value of {option}.
587 |:set|          :se[t] {option}&          Reset {option} to its default value.
589 |:setlocal|     :setl[ocal]               like ":set" but set the local value
590                                           for options that have one
591 |:setglobal|    :setg[lobal]              like ":set" but set the global value
592                                           of a local option
594 |:fix|          :fix[del]                 Set value of 't_kD' according to
595                                           value of 't_kb'.
596 |:options|      :opt[ions]                Open a new window to view and set
597                                           options, grouped by functionality,
598                                           a one line explanation and links to
599                                           the help.
601 Short explanation of each option:               *option-list*
602 'aleph'           'al'      ASCII code of the letter Aleph (Hebrew)
603 'allowrevins'     'ari'     allow CTRL-_ in Insert and Command-line mode
604 'altkeymap'       'akm'     for default second language (Farsi/Hebrew)
605 'ambiwidth'       'ambw'    what to do with Unicode chars of ambiguous width
606 'antialias'       'anti'    Mac OS X: use smooth, antialiased fonts
607 'autochdir'       'acd'     change directory to the file in the current window
608 'arabic'          'arab'    for Arabic as a default second language
609 'arabicshape'     'arshape' do shaping for Arabic characters
610 'autoindent'      'ai'      take indent for new line from previous line
611 'autoread'        'ar'      autom. read file when changed outside of Vim
612 'autowrite'       'aw'      automatically write file if changed
613 'autowriteall'    'awa'     as 'autowrite', but works with more commands
614 'background'      'bg'      "dark" or "light", used for highlight colors
615 'backspace'       'bs'      how backspace works at start of line
616 'backup'          'bk'      keep backup file after overwriting a file
617 'backupcopy'      'bkc'     make backup as a copy, don't rename the file
618 'backupdir'       'bdir'    list of directories for the backup file
619 'backupext'       'bex'     extension used for the backup file
620 'backupskip'      'bsk'     no backup for files that match these patterns
621 'balloondelay'    'bdlay'   delay in mS before a balloon may pop up
622 'ballooneval'     'beval'   switch on balloon evaluation
623 'balloonexpr'     'bexpr'   expression to show in balloon
624 'binary'          'bin'     read/write/edit file in binary mode
625 'bioskey'         'biosk'   MS-DOS: use bios calls for input characters
626 'bomb'                      prepend a Byte Order Mark to the file
627 'breakat'         'brk'     characters that may cause a line break
628 'browsedir'       'bsdir'   which directory to start browsing in
629 'bufhidden'       'bh'      what to do when buffer is no longer in window
630 'buflisted'       'bl'      whether the buffer shows up in the buffer list
631 'buftype'         'bt'      special type of buffer
632 'casemap'         'cmp'     specifies how case of letters is changed
633 'cdpath'          'cd'      list of directories searched with ":cd"
634 'cedit'                     key used to open the command-line window
635 'charconvert'     'ccv'     expression for character encoding conversion
636 'cindent'         'cin'     do C program indenting
637 'cinkeys'         'cink'    keys that trigger indent when 'cindent' is set
638 'cinoptions'      'cino'    how to do indenting when 'cindent' is set
639 'cinwords'        'cinw'    words where 'si' and 'cin' add an indent
640 'clipboard'       'cb'      use the clipboard as the unnamed register
641 'cmdheight'       'ch'      number of lines to use for the command-line
642 'cmdwinheight'    'cwh'     height of the command-line window
643 'columns'         'co'      number of columns in the display
644 'comments'        'com'     patterns that can start a comment line
645 'commentstring'   'cms'     template for comments; used for fold marker
646 'compatible'      'cp'      behave Vi-compatible as much as possible
647 'complete'        'cpt'     specify how Insert mode completion works
648 'completefunc'    'cfu'     function to be used for Insert mode completion
649 'completeopt'     'cot'     options for Insert mode completion
650 'confirm'         'cf'      ask what to do about unsaved/read-only files
651 'conskey'         'consk'   get keys directly from console (MS-DOS only)
652 'copyindent'      'ci'      make 'autoindent' use existing indent structure
653 'cpoptions'       'cpo'     flags for Vi-compatible behavior
654 'cscopepathcomp'  'cspc'    how many components of the path to show
655 'cscopeprg'       'csprg'   command to execute cscope
656 'cscopequickfix'  'csqf'    use quickfix window for cscope results
657 'cscopetag'       'cst'     use cscope for tag commands
658 'cscopetagorder'  'csto'    determines ":cstag" search order
659 'cscopeverbose'   'csverb'  give messages when adding a cscope database
660 'cursorcolumn'    'cuc'     highlight the screen column of the cursor
661 'cursorline'      'cul'     highlight the screen line of the cursor
662 'debug'                     set to "msg" to see all error messages
663 'define'          'def'     pattern to be used to find a macro definition
664 'delcombine'      'deco'    delete combining characters on their own
665 'dictionary'      'dict'    list of file names used for keyword completion
666 'diff'                      use diff mode for the current window
667 'diffexpr'        'dex'     expression used to obtain a diff file
668 'diffopt'         'dip'     options for using diff mode
669 'digraph'         'dg'      enable the entering of digraphs in Insert mode
670 'directory'       'dir'     list of directory names for the swap file
671 'display'         'dy'      list of flags for how to display text
672 'eadirection'     'ead'     in which direction 'equalalways' works
673 'edcompatible'    'ed'      toggle flags of ":substitute" command
674 'encoding'        'enc'     encoding used internally
675 'endofline'       'eol'     write <EOL> for last line in file
676 'equalalways'     'ea'      windows are automatically made the same size
677 'equalprg'        'ep'      external program to use for "=" command
678 'errorbells'      'eb'      ring the bell for error messages
679 'errorfile'       'ef'      name of the errorfile for the QuickFix mode
680 'errorformat'     'efm'     description of the lines in the error file
681 'esckeys'         'ek'      recognize function keys in Insert mode
682 'eventignore'     'ei'      autocommand events that are ignored
683 'expandtab'       'et'      use spaces when <Tab> is inserted
684 'exrc'            'ex'      read .vimrc and .exrc in the current directory
685 'fileencoding'    'fenc'    file encoding for multi-byte text
686 'fileencodings'   'fencs'   automatically detected character encodings
687 'fileformat'      'ff'      file format used for file I/O
688 'fileformats'     'ffs'     automatically detected values for 'fileformat'
689 'filetype'        'ft'      type of file, used for autocommands
690 'fillchars'       'fcs'     characters to use for displaying special items
691 'fkmap'           'fk'      Farsi keyboard mapping
692 'foldclose'       'fcl'     close a fold when the cursor leaves it
693 'foldcolumn'      'fdc'     width of the column used to indicate folds
694 'foldenable'      'fen'     set to display all folds open
695 'foldexpr'        'fde'     expression used when 'foldmethod' is "expr"
696 'foldignore'      'fdi'     ignore lines when 'foldmethod' is "indent"
697 'foldlevel'       'fdl'     close folds with a level higher than this
698 'foldlevelstart'  'fdls'    'foldlevel' when starting to edit a file
699 'foldmarker'      'fmr'     markers used when 'foldmethod' is "marker"
700 'foldmethod'      'fdm'     folding type
701 'foldminlines'    'fml'     minimum number of lines for a fold to be closed
702 'foldnestmax'     'fdn'     maximum fold depth
703 'foldopen'        'fdo'     for which commands a fold will be opened
704 'foldtext'        'fdt'     expression used to display for a closed fold
705 'formatlistpat'   'flp'     pattern used to recognize a list header
706 'formatoptions'   'fo'      how automatic formatting is to be done
707 'formatprg'       'fp'      name of external program used with "gq" command
708 'formatexpr'      'fex'     expression used with "gq" command
709 'fsync'           'fs'      whether to invoke fsync() after file write
710 'fullscreen'      'fu'      let vim cover the whole screen (MacVim only)
711 'fuoptions'       'fuopt'   controls how 'fullscreen' behaves (MacVim only)
712 'gdefault'        'gd'      the ":substitute" flag 'g' is default on
713 'grepformat'      'gfm'     format of 'grepprg' output
714 'grepprg'         'gp'      program to use for ":grep"
715 'guicursor'       'gcr'     GUI: settings for cursor shape and blinking
716 'guifont'         'gfn'     GUI: Name(s) of font(s) to be used
717 'guifontset'      'gfs'     GUI: Names of multi-byte fonts to be used
718 'guifontwide'     'gfw'     list of font names for double-wide characters
719 'guiheadroom'     'ghr'     GUI: pixels room for window decorations
720 'guioptions'      'go'      GUI: Which components and options are used
721 'guipty'                    GUI: try to use a pseudo-tty for ":!" commands
722 'guitablabel'     'gtl'     GUI: custom label for a tab page
723 'guitabtooltip'   'gtt'     GUI: custom tooltip for a tab page
724 'helpfile'        'hf'      full path name of the main help file
725 'helpheight'      'hh'      minimum height of a new help window
726 'helplang'        'hlg'     preferred help languages
727 'hidden'          'hid'     don't unload buffer when it is |abandon|ed
728 'highlight'       'hl'      sets highlighting mode for various occasions
729 'hlsearch'        'hls'     highlight matches with last search pattern
730 'history'         'hi'      number of command-lines that are remembered
731 'hkmap'           'hk'      Hebrew keyboard mapping
732 'hkmapp'          'hkp'     phonetic Hebrew keyboard mapping
733 'icon'                      let Vim set the text of the window icon
734 'iconstring'                string to use for the Vim icon text
735 'ignorecase'      'ic'      ignore case in search patterns
736 'imactivatekey'   'imak'    key that activates the X input method
737 'imcmdline'       'imc'     use IM when starting to edit a command line
738 'imdisable'       'imd'     do not use the IM in any mode
739 'iminsert'        'imi'     use :lmap or IM in Insert mode
740 'imsearch'        'ims'     use :lmap or IM when typing a search pattern
741 'include'         'inc'     pattern to be used to find an include file
742 'includeexpr'     'inex'    expression used to process an include line
743 'incsearch'       'is'      highlight match while typing search pattern
744 'indentexpr'      'inde'    expression used to obtain the indent of a line
745 'indentkeys'      'indk'    keys that trigger indenting with 'indentexpr'
746 'infercase'       'inf'     adjust case of match for keyword completion
747 'insertmode'      'im'      start the edit of a file in Insert mode
748 'isfname'         'isf'     characters included in file names and pathnames
749 'isident'         'isi'     characters included in identifiers
750 'iskeyword'       'isk'     characters included in keywords
751 'isprint'         'isp'     printable characters
752 'joinspaces'      'js'      two spaces after a period with a join command
753 'key'                       encryption key
754 'keymap'          'kmp'     name of a keyboard mapping
755 'keymodel'        'km'      enable starting/stopping selection with keys
756 'keywordprg'      'kp'      program to use for the "K" command
757 'langmap'         'lmap'    alphabetic characters for other language mode
758 'langmenu'        'lm'      language to be used for the menus
759 'laststatus'      'ls'      tells when last window has status lines
760 'lazyredraw'      'lz'      don't redraw while executing macros
761 'linebreak'       'lbr'     wrap long lines at a blank
762 'lines'                     number of lines in the display
763 'linespace'       'lsp'     number of pixel lines to use between characters
764 'lisp'                      automatic indenting for Lisp
765 'lispwords'       'lw'      words that change how lisp indenting works
766 'list'                      show <Tab> and <EOL>
767 'listchars'       'lcs'     characters for displaying in list mode
768 'loadplugins'     'lpl'     load plugin scripts when starting up
769 'macatsui'                  Mac GUI: use ATSUI text drawing
770 'macmeta'         'mmta'    use option as meta key (MacVim GUI only)
771 'magic'                     changes special characters in search patterns
772 'makeef'          'mef'     name of the errorfile for ":make"
773 'makeprg'         'mp'      program to use for the ":make" command
774 'matchpairs'      'mps'     pairs of characters that "%" can match
775 'matchtime'       'mat'     tenths of a second to show matching paren
776 'maxcombine'      'mco'     maximum nr of combining characters displayed
777 'maxfuncdepth'    'mfd'     maximum recursive depth for user functions
778 'maxmapdepth'     'mmd'     maximum recursive depth for mapping
779 'maxmem'          'mm'      maximum memory (in Kbyte) used for one buffer
780 'maxmempattern'   'mmp'     maximum memory (in Kbyte) used for pattern search
781 'maxmemtot'       'mmt'     maximum memory (in Kbyte) used for all buffers
782 'menuitems'       'mis'     maximum number of items in a menu
783 'mkspellmem'      'msm'     memory used before |:mkspell| compresses the tree
784 'modeline'        'ml'      recognize modelines at start or end of file
785 'modelines'       'mls'     number of lines checked for modelines
786 'modifiable'      'ma'      changes to the text are not possible
787 'modified'        'mod'     buffer has been modified
788 'more'                      pause listings when the whole screen is filled
789 'mouse'                     enable the use of mouse clicks
790 'mousefocus'      'mousef'  keyboard focus follows the mouse
791 'mousehide'       'mh'      hide mouse pointer while typing
792 'mousemodel'      'mousem'  changes meaning of mouse buttons
793 'mouseshape'      'mouses'  shape of the mouse pointer in different modes
794 'mousetime'       'mouset'  max time between mouse double-click
795 'mzquantum'       'mzq'     the interval between polls for MzScheme threads
796 'nrformats'       'nf'      number formats recognized for CTRL-A command
797 'number'          'nu'      print the line number in front of each line
798 'numberwidth'     'nuw'     number of columns used for the line number
799 'omnifunc'        'ofu'     function for filetype-specific completion
800 'opendevice'      'odev'    allow reading/writing devices on MS-Windows
801 'operatorfunc'    'opfunc'  function to be called for |g@| operator
802 'osfiletype'      'oft'     operating system-specific filetype information
803 'paragraphs'      'para'    nroff macros that separate paragraphs
804 'paste'                     allow pasting text
805 'pastetoggle'     'pt'      key code that causes 'paste' to toggle
806 'patchexpr'       'pex'     expression used to patch a file
807 'patchmode'       'pm'      keep the oldest version of a file
808 'path'            'pa'      list of directories searched with "gf" et.al.
809 'preserveindent'  'pi'      preserve the indent structure when reindenting
810 'previewheight'   'pvh'     height of the preview window
811 'previewwindow'   'pvw'     identifies the preview window
812 'printdevice'     'pdev'    name of the printer to be used for :hardcopy
813 'printencoding'   'penc'    encoding to be used for printing
814 'printexpr'       'pexpr'   expression used to print PostScript for :hardcopy
815 'printfont'       'pfn'     name of the font to be used for :hardcopy
816 'printheader'     'pheader' format of the header used for :hardcopy
817 'printmbcharset'  'pmbcs'   CJK character set to be used for :hardcopy
818 'printmbfont'     'pmbfn'   font names to be used for CJK output of :hardcopy
819 'printoptions'    'popt'    controls the format of :hardcopy output
820 'pumheight'       'ph'      maximum height of the popup menu
821 'quoteescape'     'qe'      escape characters used in a string
822 'readonly'        'ro'      disallow writing the buffer
823 'redrawtime'      'rdt'     timeout for 'hlsearch' and |:match| highlighting
824 'remap'                     allow mappings to work recursively
825 'report'                    threshold for reporting nr. of lines changed
826 'restorescreen'   'rs'      Win32: restore screen when exiting
827 'revins'          'ri'      inserting characters will work backwards
828 'rightleft'       'rl'      window is right-to-left oriented
829 'rightleftcmd'    'rlc'     commands for which editing works right-to-left
830 'ruler'           'ru'      show cursor line and column in the status line
831 'rulerformat'     'ruf'     custom format for the ruler
832 'runtimepath'     'rtp'     list of directories used for runtime files
833 'scroll'          'scr'     lines to scroll with CTRL-U and CTRL-D
834 'scrollbind'      'scb'     scroll in window as other windows scroll
835 'scrolljump'      'sj'      minimum number of lines to scroll
836 'scrolloff'       'so'      minimum nr. of lines above and below cursor
837 'scrollopt'       'sbo'     how 'scrollbind' should behave
838 'sections'        'sect'    nroff macros that separate sections
839 'secure'                    secure mode for reading .vimrc in current dir
840 'selection'       'sel'     what type of selection to use
841 'selectmode'      'slm'     when to use Select mode instead of Visual mode
842 'sessionoptions'  'ssop'    options for |:mksession|
843 'shell'           'sh'      name of shell to use for external commands
844 'shellcmdflag'    'shcf'    flag to shell to execute one command
845 'shellpipe'       'sp'      string to put output of ":make" in error file
846 'shellquote'      'shq'     quote character(s) for around shell command
847 'shellredir'      'srr'     string to put output of filter in a temp file
848 'shellslash'      'ssl'     use forward slash for shell file names
849 'shelltemp'       'stmp'    whether to use a temp file for shell commands
850 'shelltype'       'st'      Amiga: influences how to use a shell
851 'shellxquote'     'sxq'     like 'shellquote', but include redirection
852 'shiftround'      'sr'      round indent to multiple of shiftwidth
853 'shiftwidth'      'sw'      number of spaces to use for (auto)indent step
854 'shortmess'       'shm'     list of flags, reduce length of messages
855 'shortname'       'sn'      non-MS-DOS: Filenames assumed to be 8.3 chars
856 'showbreak'       'sbr'     string to use at the start of wrapped lines
857 'showcmd'         'sc'      show (partial) command in status line
858 'showfulltag'     'sft'     show full tag pattern when completing tag
859 'showmatch'       'sm'      briefly jump to matching bracket if insert one
860 'showmode'        'smd'     message on status line to show current mode
861 'showtabline'     'stal'    tells when the tab pages line is displayed
862 'sidescroll'      'ss'      minimum number of columns to scroll horizontal
863 'sidescrolloff'   'siso'    min. nr. of columns to left and right of cursor
864 'smartcase'       'scs'     no ignore case when pattern has uppercase
865 'smartindent'     'si'      smart autoindenting for C programs
866 'smarttab'        'sta'     use 'shiftwidth' when inserting <Tab>
867 'softtabstop'     'sts'     number of spaces that <Tab> uses while editing
868 'spell'                     enable spell checking
869 'spellcapcheck'   'spc'     pattern to locate end of a sentence
870 'spellfile'       'spf'     files where |zg| and |zw| store words
871 'spelllang'       'spl'     language(s) to do spell checking for
872 'spellsuggest'    'sps'     method(s) used to suggest spelling corrections
873 'splitbelow'      'sb'      new window from split is below the current one
874 'splitright'      'spr'     new window is put right of the current one
875 'startofline'     'sol'     commands move cursor to first non-blank in line
876 'statusline'      'stl'     custom format for the status line
877 'suffixes'        'su'      suffixes that are ignored with multiple match
878 'suffixesadd'     'sua'     suffixes added when searching for a file
879 'swapfile'        'swf'     whether to use a swapfile for a buffer
880 'swapsync'        'sws'     how to sync the swap file
881 'switchbuf'       'swb'     sets behavior when switching to another buffer
882 'synmaxcol'       'smc'     maximum column to find syntax items
883 'syntax'          'syn'     syntax to be loaded for current buffer
884 'tabstop'         'ts'      number of spaces that <Tab> in file uses
885 'tabline'         'tal'     custom format for the console tab pages line
886 'tabpagemax'      'tpm'     maximum number of tab pages for |-p| and "tab all"
887 'tagbsearch'      'tbs'     use binary searching in tags files
888 'taglength'       'tl'      number of significant characters for a tag
889 'tagrelative'     'tr'      file names in tag file are relative
890 'tags'            'tag'     list of file names used by the tag command
891 'tagstack'        'tgst'    push tags onto the tag stack
892 'term'                      name of the terminal
893 'termbidi'        'tbidi'   terminal takes care of bi-directionality
894 'termencoding'    'tenc'    character encoding used by the terminal
895 'terse'                     shorten some messages
896 'textauto'        'ta'      obsolete, use 'fileformats'
897 'textmode'        'tx'      obsolete, use 'fileformat'
898 'textwidth'       'tw'      maximum width of text that is being inserted
899 'thesaurus'       'tsr'     list of thesaurus files for keyword completion
900 'tildeop'         'top'     tilde command "~" behaves like an operator
901 'timeout'         'to'      time out on mappings and key codes
902 'timeoutlen'      'tm'      time out time in milliseconds
903 'title'                     let Vim set the title of the window
904 'titlelen'                  percentage of 'columns' used for window title
905 'titleold'                  old title, restored when exiting
906 'titlestring'               string to use for the Vim window title
907 'toolbar'         'tb'      GUI: which items to show in the toolbar
908 'toolbariconsize' 'tbis'    size of the toolbar icons (MacVim and GTK 2 only)
909 'transparency'    'transp'  transparency of the GUI window (MacVim only)
910 'ttimeout'                  time out on mappings
911 'ttimeoutlen'     'ttm'     time out time for key codes in milliseconds
912 'ttybuiltin'      'tbi'     use built-in termcap before external termcap
913 'ttyfast'         'tf'      indicates a fast terminal connection
914 'ttymouse'        'ttym'    type of mouse codes generated
915 'ttyscroll'       'tsl'     maximum number of lines for a scroll
916 'ttytype'         'tty'     alias for 'term'
917 'undolevels'      'ul'      maximum number of changes that can be undone
918 'updatecount'     'uc'      after this many characters flush swap file
919 'updatetime'      'ut'      after this many milliseconds flush swap file
920 'verbose'         'vbs'     give informative messages
921 'verbosefile'     'vfile'   file to write messages in
922 'viewdir'         'vdir'    directory where to store files with :mkview
923 'viewoptions'     'vop'     specifies what to save for :mkview
924 'viminfo'         'vi'      use .viminfo file upon startup and exiting
925 'virtualedit'     've'      when to use virtual editing
926 'visualbell'      'vb'      use visual bell instead of beeping
927 'warn'                      warn for shell command when buffer was changed
928 'weirdinvert'     'wi'      for terminals that have weird inversion method
929 'whichwrap'       'ww'      allow specified keys to cross line boundaries
930 'wildchar'        'wc'      command-line character for wildcard expansion
931 'wildcharm'       'wcm'     like 'wildchar' but also works when mapped
932 'wildignore'      'wig'     files matching these patterns are not completed
933 'wildmenu'        'wmnu'    use menu for command line completion
934 'wildmode'        'wim'     mode for 'wildchar' command-line expansion
935 'wildoptions'     'wop'     specifies how command line completion is done.
936 'winaltkeys'      'wak'     when the windows system handles ALT keys
937 'winheight'       'wh'      minimum number of lines for the current window
938 'winfixheight'    'wfh'     keep window height when opening/closing windows
939 'winfixwidth'     'wfw'     keep window width when opening/closing windows
940 'winminheight'    'wmh'     minimum number of lines for any window
941 'winminwidth'     'wmw'     minimal number of columns for any window
942 'winwidth'        'wiw'     minimal number of columns for current window
943 'wrap'                      long lines wrap and continue on the next line
944 'wrapmargin'      'wm'      chars from the right where wrapping starts
945 'wrapscan'        'ws'      searches wrap around the end of the file
946 'write'                     writing to a file is allowed
947 'writeany'        'wa'      write to file with no need for "!" override
948 'writebackup'     'wb'      make a backup before overwriting a file
949 'writedelay'      'wd'      delay this many msec for each char (for debug)
950 ------------------------------------------------------------------------------
951 *Q_ur*          Undo/Redo commands
953 |u|       N  u          undo last N changes
954 |CTRL-R|  N  CTRL-R     redo last N undone changes
955 |U|          U          restore last changed line
956 ------------------------------------------------------------------------------
957 *Q_et*          External commands
959 |:shell|        :sh[ell]        start a shell
960 |:!|            :!{command}     execute {command} with a shell
961 |K|                K            lookup keyword under the cursor with
962                                    'keywordprg' program (default: "man")
963 ------------------------------------------------------------------------------
964 *Q_qf*          Quickfix commands
966 |:cc|           :cc [nr]        display error [nr] (default is the same again)
967 |:cnext|        :cn             display the next error
968 |:cprevious|    :cp             display the previous error
969 |:clist|        :cl             list all errors
970 |:cfile|        :cf             read errors from the file 'errorfile'
971 |:cgetbuffer|   :cgetb          like :cbuffer but don't jump to the first error
972 |:cgetfile|     :cg             like :cfile but don't jump to the first error
973 |:cgetexpr|     :cgete          like :cexpr but don't jump to the first error
974 |:caddfile|     :caddf          add errors from the error file to the current
975                                    quickfix list
976 |:caddexpr|     :cad            add errors from an expression to the current
977                                    quickfix list
978 |:cbuffer|      :cb             read errors from text in a buffer
979 |:cexpr|        :cex            read errors from an expression
980 |:cquit|        :cq             quit without writing and return error code (to
981                                    the compiler)
982 |:make|         :make [args]    start make, read errors, and jump to first
983                                    error
984 |:grep|         :gr[ep] [args]  execute 'grepprg' to find matches and jump to
985                                    the first one.
986 ------------------------------------------------------------------------------
987 *Q_vc*          Various commands
989 |CTRL-L|           CTRL-L       Clear and redraw the screen.
990 |CTRL-G|           CTRL-G       show current file name (with path) and cursor
991                                    position
992 |ga|               ga           show ascii value of character under cursor in
993                                    decimal, hex, and octal
994 |g8|               g8           for utf-8 encoding: show byte sequence for
995                                    character under cursor in hex.
996 |g_CTRL-G|         g CTRL-G     show cursor column, line, and character
997                                    position
998 |CTRL-C|           CTRL-C       during searches: Interrupt the search
999 |dos-CTRL-Break|   CTRL-Break   MS-DOS: during searches: Interrupt the search
1000 |<Del>|            <Del>        while entering a count: delete last character
1001 |:version|      :ve[rsion]      show version information
1002 |:mode|         :mode N         MS-DOS: set screen mode to N (number, C80,
1003                                    C4350, etc.)
1004 |:normal|       :norm[al][!] {commands}
1005                                 Execute Normal mode commands.
1006 |Q|             Q               switch to "Ex" mode
1008 |:redir|        :redir >{file}          redirect messages to {file}
1009 |:silent|       :silent[!] {command}    execute {command} silently
1010 |:confirm|      :confirm {command}      quit, write, etc., asking about
1011                                         unsaved changes or read-only files.
1012 |:browse|       :browse {command}       open/read/write file, using a
1013                                         file selection dialog
1014 ------------------------------------------------------------------------------
1015 *Q_ce*          Command-line editing
1017 |c_<Esc>|       <Esc>              abandon command-line (if 'wildchar' is
1018                                       <Esc>, type it twice)
1020 |c_CTRL-V|      CTRL-V {char}      insert {char} literally
1021 |c_CTRL-V|      CTRL-V {number}    enter decimal value of character (up to
1022                                       three digits)
1023 |c_CTRL-K|      CTRL-K {char1} {char2}
1024                                    enter digraph (See |Q_di|)
1025 |c_CTRL-R|      CTRL-R {0-9a-z"%#:-=}
1026                                    insert the contents of a register
1028 |c_<Left>|      <Left>/<Right>     cursor left/right
1029 |c_<S-Left>|    <S-Left>/<S-Right> cursor one word left/right
1030 |c_CTRL-B|      CTRL-B/CTRL-E      cursor to beginning/end of command-line
1032 |c_<BS>|        <BS>               delete the character in front of the cursor
1033 |c_<Del>|       <Del>              delete the character under the cursor
1034 |c_CTRL-W|      CTRL-W             delete the word in front of the cursor
1035 |c_CTRL-U|      CTRL-U             remove all characters
1037 |c_<Up>|        <Up>/<Down>        recall older/newer command-line that starts
1038                                       with current command
1039 |c_<S-Up>|      <S-Up>/<S-Down>    recall older/newer command-line from history
1040 |:history|      :his[tory]         show older command-lines
1042 Context-sensitive completion on the command-line:
1044 |c_wildchar|    'wildchar'  (default: <Tab>)
1045                                 do completion on the pattern in front of the
1046                                    cursor.  If there are multiple matches,
1047                                    beep and show the first one; further
1048                                    'wildchar' will show the next ones.
1049 |c_CTRL-D|      CTRL-D          list all names that match the pattern in
1050                                    front of the cursor
1051 |c_CTRL-A|      CTRL-A          insert all names that match pattern in front
1052                                    of cursor
1053 |c_CTRL-L|      CTRL-L          insert longest common part of names that
1054                                    match pattern
1055 |c_CTRL-N|      CTRL-N          after 'wildchar' with multiple matches: go
1056                                    to next match
1057 |c_CTRL-P|      CTRL-P          after 'wildchar' with multiple matches: go
1058                                    to previous match
1059 ------------------------------------------------------------------------------
1060 *Q_ra*          Ex ranges
1062 |:range|        ,               separates two line numbers
1063 |:range|        ;               idem, set cursor to the first line number
1064                                 before interpreting the second one
1066 |:range|        {number}        an absolute line number
1067 |:range|        .               the current line
1068 |:range|        $               the last line in the file
1069 |:range|        %               equal to 1,$ (the entire file)
1070 |:range|        *               equal to '<,'> (visual area)
1071 |:range|        't              position of mark t
1072 |:range|        /{pattern}[/]   the next line where {pattern} matches
1073 |:range|        ?{pattern}[?]   the previous line where {pattern} matches
1075 |:range|        +[num]          add [num] to the preceding line number
1076                                    (default: 1)
1077 |:range|        -[num]          subtract [num] from the preceding line
1078                                    number (default: 1)
1079 ------------------------------------------------------------------------------
1080 *Q_ex*          Special Ex characters
1082 |:bar|      |           separates two commands (not for ":global" and ":!")
1083 |:quote|    "           begins comment
1085 |:_%|       %           current file name (only where a file name is expected)
1086 |:_#|       #[num]      alternate file name [num] (only where a file name is
1087                            expected)
1088         Note: The next four are typed literally; these are not special keys!
1089 |:<cword>|  <cword>     word under the cursor (only where a file name is
1090                            expected)
1091 |:<cWORD>|  <cWORD>     WORD under the cursor (only where a file name is
1092                            expected) (see |WORD|)
1093 |:<cfile>|  <cfile>     file name under the cursor (only where a file name is
1094                            expected)
1095 |:<afile>|  <afile>     file name for autocommand (only where a file name is
1096                            expected)
1097 |:<sfile>|  <sfile>     file name of a ":source"d file, within that file (only
1098                            where a file name is expected)
1100                 After "%", "#", "<cfile>", "<sfile>" or "<afile>"
1101                 |::p|       :p          full path
1102                 |::h|       :h          head (file name removed)
1103                 |::t|       :t          tail (file name only)
1104                 |::r|       :r          root (extension removed)
1105                 |::e|       :e          extension
1106                 |::s|       :s/{pat}/{repl}/    substitute {pat} with {repl}
1107 ------------------------------------------------------------------------------
1108 *Q_st*          Starting VIM
1110 |-vim|     vim [options]                start editing with an empty buffer
1111 |-file|    vim [options] {file} ..      start editing one or more files
1112 |--|       vim [options] -              read file from stdin
1113 |-tag|     vim [options] -t {tag}       edit the file associated with {tag}
1114 |-qf|      vim [options] -q [fname]     start editing in QuickFix mode,
1115                                            display the first error
1117         Most useful Vim arguments (for full list see |startup-options|)
1119 |-gui|  -g                  start GUI (also allows other options)
1121 |-+|    +[num]              put the cursor at line [num] (default: last line)
1122 |-+c|   +{command}          execute {command} after loading the file
1123 |-+/|   +/{pat} {file} ..   put the cursor at the first occurrence of {pat}
1124 |-v|    -v                  Vi mode, start ex in Normal mode
1125 |-e|    -e                  Ex mode, start vim in Ex mode
1126 |-R|    -R                  Read-only mode, implies -n
1127 |-m|    -m                  modifications not allowed (resets 'write' option)
1128 |-d|    -d                  diff mode |diff|
1129 |-b|    -b                  binary mode
1130 |-l|    -l                  lisp mode
1131 |-A|    -A                  Arabic mode ('arabic' is set)
1132 |-F|    -F                  Farsi mode ('fkmap' and 'rightleft' are set)
1133 |-H|    -H                  Hebrew mode ('hkmap' and 'rightleft' are set)
1134 |-V|    -V                  Verbose, give informative messages
1135 |-C|    -C                  Compatible, set the 'compatible' option
1136 |-N|    -N                  Nocompatible, reset the 'compatible' option
1137 |-r|    -r                  give list of swap files
1138 |-r|    -r {file} ..        recover aborted edit session
1139 |-n|    -n                  do not create a swap file
1140 |-o|    -o [num]            open [num] windows (default: one for each file)
1141 |-f|    -f                  GUI: foreground process, don't fork
1142                             Amiga: do not restart VIM to open a window (for
1143                                 e.g., mail)
1144 |-s|    -s {scriptin}       first read commands from the file {scriptin}
1145 |-w|    -w {scriptout}      write typed chars to file {scriptout} (append)
1146 |-W|    -W {scriptout}      write typed chars to file {scriptout} (overwrite)
1147 |-T|    -T {terminal}       set terminal name
1148 |-d|    -d {device}         Amiga: open {device} to be used as a console
1149 |-u|    -u {vimrc}          read inits from {vimrc} instead of other inits
1150 |-U|    -U {gvimrc}         idem, for when starting the GUI
1151 |-i|    -i {viminfo}        read info from {viminfo} instead of other files
1152 |---|   --                  end of options, other arguments are file names
1153 |--help|    --help          show list of arguments and exit
1154 |--version| --version       show version info and exit
1155 |--|    -                   Read file from stdin.
1156 ------------------------------------------------------------------------------
1157 *Q_ed*          Editing a file
1159            Without !: Fail if changes has been made to the current buffer.
1160               With !: Discard any changes to the current buffer.
1161 |:edit_f|  :e[dit][!] {file}    Edit {file}.
1162 |:edit|    :e[dit][!]           Reload the current file.
1163 |:enew|    :ene[w][!]           Edit a new, unnamed buffer.
1164 |:find|    :fin[d][!] {file}    Find {file} in 'path' and edit it.
1166 |CTRL-^|   N   CTRL-^           Edit alternate file N (equivalent to ":e #N").
1167 |gf|           gf  or ]f        Edit the file whose name is under the cursor
1168 |:pwd|     :pwd                 Print the current directory name.
1169 |:cd|      :cd [path]           Change the current directory to [path].
1170 |:cd-|     :cd -                Back to previous current directory.
1171 |:file|    :f[ile]              Print the current file name and the cursor
1172                                    position.
1173 |:file|    :f[ile] {name}       Set the current file name to {name}.
1174 |:files|   :files               Show alternate file names.
1175 ------------------------------------------------------------------------------
1176 *Q_fl*          Using the argument list                 |argument-list|
1178 |:args|    :ar[gs]              Print the argument list, with the current file
1179                                    in "[]".
1180 |:all|     :all  or :sall       Open a window for every file in the arg list.
1181 |:wn|      :wn[ext][!]          Write file and edit next file.
1182 |:wn|      :wn[ext][!] {file}   Write to {file} and edit next file, unless
1183                                    {file} exists.  With !, overwrite existing
1184                                    file.
1185 |:wN|      :wN[ext][!] [file]   Write file and edit previous file.
1187              in current window    in new window ~
1188 |:argument|  :argu[ment] N        :sar[gument] N        Edit file N
1189 |:next|      :n[ext]              :sn[ext]              Edit next file
1190 |:next_f|    :n[ext] {arglist}    :sn[ext] {arglist}    define new arg list
1191                                                            and edit first file
1192 |:Next|      :N[ext]              :sN[ext]              Edit previous file
1193 |:first|     :fir[st]             :sfir[st]             Edit first file
1194 |:last|      :la[st]              :sla[st]              Edit last file
1195 ------------------------------------------------------------------------------
1196 *Q_wq*          Writing and quitting
1198 |:w|      :[range]w[rite][!]            Write to the current file.
1199 |:w_f|    :[range]w[rite] {file}        Write to {file}, unless it already
1200                                            exists.
1201 |:w_f|    :[range]w[rite]! {file}       Write to {file}.  Overwrite an existing
1202                                            file.
1203 |:w_a|    :[range]w[rite][!] >>         Append to the current file.
1204 |:w_a|    :[range]w[rite][!] >> {file}  Append to {file}.
1205 |:w_c|    :[range]w[rite] !{cmd}        Execute {cmd} with [range] lines as
1206                                            standard input.
1207 |:up|     :[range]up[date][!]           write to current file if modified
1208 |:wall|   :wa[ll][!]                    write all changed buffers
1210 |:q|      :q[uit]               Quit current buffer, unless changes have been
1211                                    made.  Exit Vim when there are no other
1212                                    non-help buffers
1213 |:q|      :q[uit]!              Quit current buffer always, discard any
1214                                    changes.  Exit Vim when there are no other
1215                                    non-help buffers
1216 |:qa|     :qa[ll]               Exit Vim, unless changes have been made.
1217 |:qa|     :qa[ll]!              Exit Vim always, discard any changes.
1218 |:cq|     :cq                   Quit without writing and return error code.
1220 |:wq|     :wq[!]                Write the current file and exit.
1221 |:wq|     :wq[!] {file}         Write to {file} and exit.
1222 |:xit|    :x[it][!] [file]      Like ":wq" but write only when changes have
1223                                    been made
1224 |ZZ|         ZZ                 Same as ":x".
1225 |ZQ|         ZQ                 Same as ":q!".
1226 |:xall|   :xa[ll][!]  or :wqall[!]
1227                                 Write all changed buffers and exit
1229 |:stop|   :st[op][!]            Suspend VIM or start new shell.  If 'aw' option
1230                                    is set and [!] not given write the buffer.
1231 |CTRL-Z|     CTRL-Z             Same as ":stop"
1232 ------------------------------------------------------------------------------
1233 *Q_ac*          Automatic Commands
1235 |viminfo-file|  Read registers, marks, history at startup, save when exiting.
1237 |:rviminfo|     :rv[iminfo] [file]      Read info from viminfo file [file]
1238 |:rviminfo|     :rv[iminfo]! [file]     idem, overwrite existing info
1239 |:wviminfo|     :wv[iminfo] [file]      Add info to viminfo file [file]
1240 |:wviminfo|     :wv[iminfo]! [file]     Write info to viminfo file [file]
1242 |modeline|      Automatic option setting when editing a file
1244 |modeline|      vim:{set-arg}: ..       In the first and last lines of the
1245                                         file (see 'ml' option), {set-arg} is
1246                                         given as an argument to ":set"
1248 |autocommand|   Automatic execution of commands on certain events.
1250 |:autocmd|      :au                     List all autocommands
1251 |:autocmd|      :au {event}             List all autocommands for {event}
1252 |:autocmd|      :au {event} {pat}       List all autocommands for {event} with
1253                                         {pat}
1254 |:autocmd|      :au {event} {pat} {cmd} Enter new autocommands for {event}
1255                                         with {pat}
1256 |:autocmd|      :au!                    Remove all autocommands
1257 |:autocmd|      :au! {event}            Remove all autocommands for {event}
1258 |:autocmd|      :au! * {pat}            Remove all autocommands for {pat}
1259 |:autocmd|      :au! {event} {pat}      Remove all autocommands for {event}
1260                                         with {pat}
1261 |:autocmd|      :au! {event} {pat} {cmd}  Remove all autocommands for {event}
1262                                         with {pat} and enter new one
1263 ------------------------------------------------------------------------------
1264 *Q_wi*          Multi-window commands
1266 |CTRL-W_s|      CTRL-W s  or  :split    Split window into two parts
1267 |:split_f|      :split {file}           Split window and edit {file} in one of
1268                                            them
1269 |:vsplit|       :vsplit {file}          Same, but split vertically
1270 |:vertical|     :vertical {cmd}         Make {cmd} split vertically
1272 |:sfind|        :sf[ind] {file}         Split window, find {file} in 'path'
1273                                            and edit it.
1274 |CTRL-W_]|      CTRL-W ]                Split window and jump to tag under
1275                                            cursor
1276 |CTRL-W_f|      CTRL-W f                Split window and edit file name under
1277                                            the cursor
1278 |CTRL-W_^|      CTRL-W ^                Split window and edit alternate file
1279 |CTRL-W_n|      CTRL-W n  or  :new      Create new empty window
1280 |CTRL-W_q|      CTRL-W q  or  :q[uit]   Quit editing and close window
1281 |CTRL-W_c|      CTRL-W c  or  :cl[ose]  Make buffer hidden and close window
1282 |CTRL-W_o|      CTRL-W o  or  :on[ly]   Make current window only one on the
1283                                            screen
1285 |CTRL-W_j|      CTRL-W j                Move cursor to window below
1286 |CTRL-W_k|      CTRL-W k                Move cursor to window above
1287 |CTRL-W_CTRL-W| CTRL-W CTRL-W           Move cursor to window below (wrap)
1288 |CTRL-W_W|      CTRL-W W                Move cursor to window above (wrap)
1289 |CTRL-W_t|      CTRL-W t                Move cursor to top window
1290 |CTRL-W_b|      CTRL-W b                Move cursor to bottom window
1291 |CTRL-W_p|      CTRL-W p                Move cursor to previous active window
1293 |CTRL-W_r|      CTRL-W r                Rotate windows downwards
1294 |CTRL-W_R|      CTRL-W R                Rotate windows upwards
1295 |CTRL-W_x|      CTRL-W x                Exchange current window with next one
1297 |CTRL-W_=|      CTRL-W =                Make all windows equal height
1298 |CTRL-W_-|      CTRL-W -                Decrease current window height
1299 |CTRL-W_+|      CTRL-W +                Increase current window height
1300 |CTRL-W__|      CTRL-W _                Set current window height (default:
1301                                            very high)
1302 ------------------------------------------------------------------------------
1303 *Q_bu*          Buffer list commands
1305 |:buffers|      :buffers  or  :files    list all known buffer and file names
1307 |:ball|         :ball     or  :sball    edit all args/buffers
1308 |:unhide|       :unhide   or  :sunhide  edit all loaded buffers
1310 |:badd|         :badd {fname}           add file name {fname} to the list
1311 |:bunload|      :bunload[!] [N]         unload buffer [N] from memory
1312 |:bdelete|      :bdelete[!] [N]         unload buffer [N] and delete it from
1313                                            the buffer list
1315               in current window   in new window ~
1316 |:buffer|     :[N]buffer [N]      :[N]sbuffer [N]     to arg/buf N
1317 |:bnext|      :[N]bnext [N]       :[N]sbnext [N]      to Nth next arg/buf
1318 |:bNext|      :[N]bNext [N]       :[N]sbNext [N]      to Nth previous arg/buf
1319 |:bprevious|  :[N]bprevious [N]   :[N]sbprevious [N]  to Nth previous arg/buf
1320 |:bfirst|     :bfirst             :sbfirst            to first arg/buf
1321 |:blast|      :blast              :sblast             to last arg/buf
1322 |:bmodified|  :[N]bmod [N]        :[N]sbmod [N]       to Nth modified buf
1323 ------------------------------------------------------------------------------
1324 *Q_sy*          Syntax Highlighting
1326 |:syn-on|       :syntax on              start using syntax highlighting
1327 |:syn-off|      :syntax off             stop using syntax highlighting
1329 |:syn-keyword|  :syntax keyword {group-name} {keyword} ..
1330                                         add a syntax keyword item
1331 |:syn-match|    :syntax match {group-name} {pattern} ...
1332                                         add syntax match item
1333 |:syn-region|   :syntax region {group-name} {pattern} ...
1334                                         add syntax region item
1335 |:syn-sync|     :syntax sync [ccomment | lines {N} | ...]
1336                                         tell syntax how to sync
1337 |:syntax|       :syntax [list]          list current syntax items
1338 |:syn-clear|    :syntax clear           clear all syntax info
1340 |:highlight|    :highlight clear        clear all highlight info
1341 |:highlight|    :highlight {group-name} {key}={arg} ..
1342                                         set highlighting for {group-name}
1344 |:filetype|     :filetype on            switch on file type detection, without
1345                                         syntax highlighting
1346 |:filetype|     :filetype plugin indent on
1347                                         switch on file type detection, with
1348                                         automatic indenting and settings
1349 ------------------------------------------------------------------------------
1350 *Q_gu*          GUI commands
1352 |:gui|          :gui                    UNIX: start the GUI
1353 |:gui|          :gui {fname} ..         idem, and edit {fname} ..
1355 |:menu|         :menu                   list all menus
1356 |:menu|         :menu {mpath}           list menus starting with {mpath}
1357 |:menu|         :menu {mpath} {rhs}     add menu {mpath}, giving {lhs}
1358 |:menu|         :menu {pri} {mpath} {rhs}
1359                                         idem, with priorities {pri}
1360 |:menu|         :menu ToolBar.{name} {rhs}
1361                                         add toolbar item, giving {lhs}
1362 |:tmenu|        :tmenu {mpath} {text}   add tooltip to menu {mpath}
1363 |:unmenu|       :unmenu {mpath}         remove menu {mpath}
1364 ------------------------------------------------------------------------------
1365 *Q_fo*          Folding
1367 |'foldmethod'|  set foldmethod=manual   manual folding
1368                 set foldmethod=indent   folding by indent
1369                 set foldmethod=expr     folding by 'foldexpr'
1370                 set foldmethod=syntax   folding by syntax regions
1371                 set foldmethod=marker   folding by 'foldmarkers'
1373 |zf|            zf{motion}              operator: Define a fold manually
1374 |:fold|         :{range}fold            define a fold for {range} lines
1375 |zd|            zd                      delete one fold under the cursor
1376 |zD|            zD                      delete all folds under the cursor
1378 |zo|            zo                      open one fold under the cursor
1379 |zO|            zO                      open all folds under the cursor
1380 |zc|            zc                      close one fold under the cursor
1381 |zC|            zC                      close all folds under the cursor
1383 |zm|            zm                      fold more: decrease 'foldlevel'
1384 |zM|            zM                      close all folds: make 'foldlevel' zero
1385 |zr|            zr                      reduce folding: increase 'foldlevel'
1386 |zR|            zR                      open all folds: make 'foldlevel' max.
1388 |zn|            zn                      fold none: reset 'foldenable'
1389 |zN|            zN                      fold normal set 'foldenable'
1390 |zi|            zi                      invert 'foldenable'
1392  vim:tw=78:ts=8:ft=help:norl: