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