blob: 55e7cc3bb4cc2e39c44f0133e82f1c88f0a55882 [file] [log] [blame]
Foxe Chenb90c2392025-06-27 21:10:35 +02001*quickref.txt* For Vim version 9.1. Last change: 2025 Jun 27
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 ~
Bram Moolenaar00154502013-02-13 16:15:55 +010010|Q_ct| list of help files |Q_re| Repeating commands
Bram Moolenaar071d4272004-06-13 20:20:40 +000011|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 Moolenaar9028b102010-07-11 16:58:51 +020021|Q_ss| insert: Special keys |Q_st| Starting Vim
Bram Moolenaar2df6dcc2004-07-12 15:53:54 +000022|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
Bram Moolenaar00154502013-02-13 16:15:55 +010030 |Q_fo| Folding
Bram Moolenaar071d4272004-06-13 20:20:40 +000031
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)
Bram Moolenaar8f3f58f2010-01-06 20:52:26 +010043|g0| g0 to first character in screen line (differs from "0"
Bram Moolenaar071d4272004-06-13 20:20:40 +000044 when lines wrap)
Bram Moolenaar8f3f58f2010-01-06 20:52:26 +010045|g^| g^ to first non-blank character in screen line (differs
Bram Moolenaar071d4272004-06-13 20:20:40 +000046 from "^" when lines wrap)
47|g$| N g$ to last character in screen line (differs from "$"
48 when lines wrap)
Bram Moolenaar8f3f58f2010-01-06 20:52:26 +010049|gm| gm to middle of the screen line
Bram Moolenaar8b530c12019-10-28 02:13:05 +010050|gM| gM to middle of the line
Bram Moolenaar071d4272004-06-13 20:20:40 +000051|bar| N | to column N (default: 1)
52|f| N f{char} to the Nth occurrence of {char} to the right
53|F| N F{char} to the Nth occurrence of {char} to the left
54|t| N t{char} till before the Nth occurrence of {char} to the right
55|T| N T{char} till before the Nth occurrence of {char} to the left
56|;| N ; repeat the last "f", "F", "t", or "T" N times
57|,| N , repeat the last "f", "F", "t", or "T" N times in
58 opposite direction
59------------------------------------------------------------------------------
60*Q_ud* Up-down motions
61
62|k| N k up N lines (also: CTRL-P and <Up>)
63|j| N j down N lines (also: CTRL-J, CTRL-N, <NL>, and <Down>)
64|-| N - up N lines, on the first non-blank character
65|+| N + down N lines, on the first non-blank character (also:
66 CTRL-M and <CR>)
67|_| N _ down N-1 lines, on the first non-blank character
68|G| N G goto line N (default: last line), on the first
69 non-blank character
70|gg| N gg goto line N (default: first line), on the first
71 non-blank character
Bram Moolenaar9028b102010-07-11 16:58:51 +020072|N%| N % goto line N percentage down in the file; N must be
Bram Moolenaard04b7502010-07-08 22:27:55 +020073 given, otherwise it is the |%| command
Bram Moolenaar071d4272004-06-13 20:20:40 +000074|gk| N gk up N screen lines (differs from "k" when line wraps)
75|gj| N gj down N screen lines (differs from "j" when line wraps)
76------------------------------------------------------------------------------
77*Q_tm* Text object motions
78
79|w| N w N words forward
80|W| N W N blank-separated |WORD|s forward
81|e| N e forward to the end of the Nth word
82|E| N E forward to the end of the Nth blank-separated |WORD|
83|b| N b N words backward
84|B| N B N blank-separated |WORD|s backward
85|ge| N ge backward to the end of the Nth word
86|gE| N gE backward to the end of the Nth blank-separated |WORD|
87
88|)| N ) N sentences forward
89|(| N ( N sentences backward
90|}| N } N paragraphs forward
91|{| N { N paragraphs backward
92|]]| N ]] N sections forward, at start of section
93|[[| N [[ N sections backward, at start of section
94|][| N ][ N sections forward, at end of section
95|[]| N [] N sections backward, at end of section
96|[(| N [( N times back to unclosed '('
97|[{| N [{ N times back to unclosed '{'
98|[m| N [m N times back to start of method (for Java)
99|[M| N [M N times back to end of method (for Java)
100|])| N ]) N times forward to unclosed ')'
101|]}| N ]} N times forward to unclosed '}'
102|]m| N ]m N times forward to start of method (for Java)
103|]M| N ]M N times forward to end of method (for Java)
104|[#| N [# N times back to unclosed "#if" or "#else"
105|]#| N ]# N times forward to unclosed "#else" or "#endif"
106|[star| N [* N times back to start of comment "/*"
107|]star| N ]* N times forward to end of comment "*/"
108------------------------------------------------------------------------------
109*Q_pa* Pattern searches
110
111|/| N /{pattern}[/[offset]]<CR>
112 search forward for the Nth occurrence of {pattern}
113|?| N ?{pattern}[?[offset]]<CR>
114 search backward for the Nth occurrence of {pattern}
115|/<CR>| N /<CR> repeat last search, in the forward direction
116|?<CR>| N ?<CR> repeat last search, in the backward direction
117|n| N n repeat last search
118|N| N N repeat last search, in opposite direction
119|star| N * search forward for the identifier under the cursor
120|#| N # search backward for the identifier under the cursor
121|gstar| N g* like "*", but also find partial matches
122|g#| N g# like "#", but also find partial matches
123|gd| gd goto local declaration of identifier under the cursor
124|gD| gD goto global declaration of identifier under the cursor
125
126|pattern| Special characters in search patterns
127
128 meaning magic nomagic ~
129 matches any single character . \.
130 matches start of line ^ ^
131 matches <EOL> $ $
132 matches start of word \< \<
133 matches end of word \> \>
134 matches a single char from the range [a-z] \[a-z]
135 matches a single char not in the range [^a-z] \[^a-z]
136 matches an identifier char \i \i
137 idem but excluding digits \I \I
138 matches a keyword character \k \k
139 idem but excluding digits \K \K
140 matches a file name character \f \f
141 idem but excluding digits \F \F
142 matches a printable character \p \p
143 idem but excluding digits \P \P
144 matches a white space character \s \s
145 matches a non-white space character \S \S
146
147 matches <Esc> \e \e
148 matches <Tab> \t \t
149 matches <CR> \r \r
150 matches <BS> \b \b
151
152 matches 0 or more of the preceding atom * \*
153 matches 1 or more of the preceding atom \+ \+
154 matches 0 or 1 of the preceding atom \= \=
155 matches 2 to 5 of the preceding atom \{2,5} \{2,5}
156 separates two alternatives \| \|
157 group a pattern into an atom \(\) \(\)
158
159|search-offset| Offsets allowed after search command
160
161 [num] [num] lines downwards, in column 1
162 +[num] [num] lines downwards, in column 1
163 -[num] [num] lines upwards, in column 1
164 e[+num] [num] characters to the right of the end of the match
165 e[-num] [num] characters to the left of the end of the match
166 s[+num] [num] characters to the right of the start of the match
167 s[-num] [num] characters to the left of the start of the match
168 b[+num] [num] identical to s[+num] above (mnemonic: begin)
169 b[-num] [num] identical to s[-num] above (mnemonic: begin)
170 ;{search-command} execute {search-command} next
171------------------------------------------------------------------------------
172*Q_ma* Marks and motions
173
Bram Moolenaardc8b25c2013-07-06 13:58:22 +0200174|m| m{a-zA-Z} mark current position with mark {a-zA-Z}
175|`a| `{a-z} go to mark {a-z} within current file
176|`A| `{A-Z} go to mark {A-Z} in any file
177|`0| `{0-9} go to the position where Vim was previously exited
178|``| `` go to the position before the last jump
Bram Moolenaar071d4272004-06-13 20:20:40 +0000179|`quote| `" go to the position when last editing this file
Bram Moolenaardc8b25c2013-07-06 13:58:22 +0200180|`[| `[ go to the start of the previously operated or put text
181|`]| `] go to the end of the previously operated or put text
182|`<| `< go to the start of the (previous) Visual area
183|`>| `> go to the end of the (previous) Visual area
184|`.| `. go to the position of the last change in this file
185|'| '{a-zA-Z0-9[]'"<>.}
Bram Moolenaar071d4272004-06-13 20:20:40 +0000186 same as `, but on the first non-blank in the line
187|:marks| :marks print the active marks
188|CTRL-O| N CTRL-O go to Nth older position in jump list
189|CTRL-I| N CTRL-I go to Nth newer position in jump list
Bram Moolenaar00154502013-02-13 16:15:55 +0100190|:ju| :ju[mps] print the jump list
Bram Moolenaar071d4272004-06-13 20:20:40 +0000191------------------------------------------------------------------------------
192*Q_vm* Various motions
193
194|%| % find the next brace, bracket, comment, or "#if"/
195 "#else"/"#endif" in this line and go to its match
196|H| N H go to the Nth line in the window, on the first
197 non-blank
198|M| M go to the middle line in the window, on the first
199 non-blank
200|L| N L go to the Nth line from the bottom, on the first
201 non-blank
202
203|go| N go go to Nth byte in the buffer
204|:go| :[range]go[to] [off] go to [off] byte in the buffer
205------------------------------------------------------------------------------
206*Q_ta* Using tags
207
Bram Moolenaar00154502013-02-13 16:15:55 +0100208|:ta| :ta[g][!] {tag} jump to tag {tag}
209|:ta| :[count]ta[g][!] jump to [count]'th newer tag in tag list
Bram Moolenaard04b7502010-07-08 22:27:55 +0200210|CTRL-]| CTRL-] jump to the tag under cursor, unless changes
Bram Moolenaar071d4272004-06-13 20:20:40 +0000211 have been made
Bram Moolenaar00154502013-02-13 16:15:55 +0100212|:ts| :ts[elect][!] [tag] list matching tags and select one to jump to
Bram Moolenaard04b7502010-07-08 22:27:55 +0200213|:tjump| :tj[ump][!] [tag] jump to tag [tag] or select from list when
Bram Moolenaar071d4272004-06-13 20:20:40 +0000214 there are multiple matches
Bram Moolenaar00154502013-02-13 16:15:55 +0100215|:ltag| :lt[ag][!] [tag] jump to tag [tag] and add matching tags to the
Bram Moolenaard04b7502010-07-08 22:27:55 +0200216 location list
Bram Moolenaar071d4272004-06-13 20:20:40 +0000217
Bram Moolenaar00154502013-02-13 16:15:55 +0100218|:tags| :tags print tag list
Bram Moolenaard04b7502010-07-08 22:27:55 +0200219|CTRL-T| N CTRL-T jump back from Nth older tag in tag list
Bram Moolenaar00154502013-02-13 16:15:55 +0100220|:po| :[count]po[p][!] jump back from [count]'th older tag in tag list
Bram Moolenaard04b7502010-07-08 22:27:55 +0200221|:tnext| :[count]tn[ext][!] jump to [count]'th next matching tag
222|:tp| :[count]tp[revious][!] jump to [count]'th previous matching tag
Bram Moolenaar00154502013-02-13 16:15:55 +0100223|:tr| :[count]tr[ewind][!] jump to [count]'th matching tag
224|:tl| :tl[ast][!] jump to last matching tag
Bram Moolenaar071d4272004-06-13 20:20:40 +0000225
Bram Moolenaar00154502013-02-13 16:15:55 +0100226|:ptag| :pt[ag] {tag} open a preview window to show tag {tag}
227|CTRL-W_}| CTRL-W } like CTRL-] but show tag in preview window
Bram Moolenaar071d4272004-06-13 20:20:40 +0000228|:pts| :pts[elect] like ":tselect" but show tag in preview window
229|:ptjump| :ptj[ump] like ":tjump" but show tag in preview window
230|:pclose| :pc[lose] close tag preview window
Bram Moolenaar00154502013-02-13 16:15:55 +0100231|CTRL-W_z| CTRL-W z close tag preview window
Bram Moolenaar071d4272004-06-13 20:20:40 +0000232------------------------------------------------------------------------------
233*Q_sc* Scrolling
234
235|CTRL-E| N CTRL-E window N lines downwards (default: 1)
236|CTRL-D| N CTRL-D window N lines Downwards (default: 1/2 window)
237|CTRL-F| N CTRL-F window N pages Forwards (downwards)
238|CTRL-Y| N CTRL-Y window N lines upwards (default: 1)
239|CTRL-U| N CTRL-U window N lines Upwards (default: 1/2 window)
240|CTRL-B| N CTRL-B window N pages Backwards (upwards)
241|z<CR>| z<CR> or zt redraw, current line at top of window
242|z.| z. or zz redraw, current line at center of window
243|z-| z- or zb redraw, current line at bottom of window
244
245These only work when 'wrap' is off:
246|zh| N zh scroll screen N characters to the right
247|zl| N zl scroll screen N characters to the left
248|zH| N zH scroll screen half a screenwidth to the right
249|zL| N zL scroll screen half a screenwidth to the left
250------------------------------------------------------------------------------
251*Q_in* Inserting text
252
253|a| N a append text after the cursor (N times)
254|A| N A append text at the end of the line (N times)
255|i| N i insert text before the cursor (N times) (also: <Insert>)
256|I| N I insert text before the first non-blank in the line (N times)
257|gI| N gI insert text in column 1 (N times)
258|o| N o open a new line below the current line, append text (N times)
259|O| N O open a new line above the current line, append text (N times)
260|:startinsert| :star[tinsert][!] start Insert mode, append when [!] used
Bram Moolenaar325b7a22004-07-05 15:58:32 +0000261|:startreplace| :startr[eplace][!] start Replace mode, at EOL when [!] used
Bram Moolenaar071d4272004-06-13 20:20:40 +0000262
263in Visual block mode:
Bram Moolenaar00154502013-02-13 16:15:55 +0100264|v_b_I| I insert the same text in front of all the selected lines
Bram Moolenaar071d4272004-06-13 20:20:40 +0000265|v_b_A| A append the same text after all the selected lines
266------------------------------------------------------------------------------
267*Q_ai* Insert mode keys
268
269|insert-index| alphabetical index of Insert mode commands
270
271leaving Insert mode:
272|i_<Esc>| <Esc> end Insert mode, back to Normal mode
273|i_CTRL-C| CTRL-C like <Esc>, but do not use an abbreviation
274|i_CTRL-O| CTRL-O {command} execute {command} and return to Insert mode
275
276moving around:
277|i_<Up>| cursor keys move cursor left/right/up/down
278|i_<S-Left>| shift-left/right one word left/right
279|i_<S-Up>| shift-up/down one screenful backward/forward
280|i_<End>| <End> cursor after last character in the line
281|i_<Home>| <Home> cursor to first character in the line
282------------------------------------------------------------------------------
283*Q_ss* Special keys in Insert mode
284
285|i_CTRL-V| CTRL-V {char}.. insert character literally, or enter decimal
286 byte value
287|i_<NL>| <NL> or <CR> or CTRL-M or CTRL-J
288 begin new line
289|i_CTRL-E| CTRL-E insert the character from below the cursor
290|i_CTRL-Y| CTRL-Y insert the character from above the cursor
291
292|i_CTRL-A| CTRL-A insert previously inserted text
293|i_CTRL-@| CTRL-@ insert previously inserted text and stop
294 Insert mode
Bram Moolenaar5be4cee2019-09-27 19:34:08 +0200295|i_CTRL-R| CTRL-R {register} insert the contents of a register
Bram Moolenaar071d4272004-06-13 20:20:40 +0000296
297|i_CTRL-N| CTRL-N insert next match of identifier before the
298 cursor
299|i_CTRL-P| CTRL-P insert previous match of identifier before
300 the cursor
301|i_CTRL-X| CTRL-X ... complete the word before the cursor in
302 various ways
303
304|i_<BS>| <BS> or CTRL-H delete the character before the cursor
305|i_<Del>| <Del> delete the character under the cursor
306|i_CTRL-W| CTRL-W delete word before the cursor
307|i_CTRL-U| CTRL-U delete all entered characters in the current
308 line
309|i_CTRL-T| CTRL-T insert one shiftwidth of indent in front of
310 the current line
311|i_CTRL-D| CTRL-D delete one shiftwidth of indent in front of
312 the current line
313|i_0_CTRL-D| 0 CTRL-D delete all indent in the current line
314|i_^_CTRL-D| ^ CTRL-D delete all indent in the current line,
315 restore indent in next line
316------------------------------------------------------------------------------
317*Q_di* Digraphs
318
319|:dig| :dig[raphs] show current list of digraphs
320|:dig| :dig[raphs] {char1}{char2} {number} ...
321 add digraph(s) to the list
322
323In Insert or Command-line mode:
324|i_CTRL-K| CTRL-K {char1} {char2}
325 enter digraph
326|i_digraph| {char1} <BS> {char2}
327 enter digraph if 'digraph' option set
328------------------------------------------------------------------------------
329*Q_si* Special inserts
330
331|:r| :r [file] insert the contents of [file] below the cursor
332|:r!| :r! {command} insert the standard output of {command} below the
333 cursor
334------------------------------------------------------------------------------
335*Q_de* Deleting text
336
337|x| N x delete N characters under and after the cursor
Bram Moolenaar00154502013-02-13 16:15:55 +0100338|<Del>| N <Del> delete N characters under and after the cursor
Bram Moolenaar071d4272004-06-13 20:20:40 +0000339|X| N X delete N characters before the cursor
340|d| N d{motion} delete the text that is moved over with {motion}
Bram Moolenaar00154502013-02-13 16:15:55 +0100341|v_d| {visual}d delete the highlighted text
Bram Moolenaar071d4272004-06-13 20:20:40 +0000342|dd| N dd delete N lines
343|D| N D delete to the end of the line (and N-1 more lines)
344|J| N J join N-1 lines (delete <EOL>s)
Bram Moolenaar00154502013-02-13 16:15:55 +0100345|v_J| {visual}J join the highlighted lines
Bram Moolenaar071d4272004-06-13 20:20:40 +0000346|gJ| N gJ like "J", but without inserting spaces
Bram Moolenaar00154502013-02-13 16:15:55 +0100347|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces
Bram Moolenaar071d4272004-06-13 20:20:40 +0000348|:d| :[range]d [x] delete [range] lines [into register x]
349------------------------------------------------------------------------------
350*Q_cm* Copying and moving text
351
352|quote| "{char} use register {char} for the next delete, yank, or put
353|:reg| :reg show the contents of all registers
354|:reg| :reg {arg} show the contents of registers mentioned in {arg}
355|y| N y{motion} yank the text moved over with {motion} into a register
356|v_y| {visual}y yank the highlighted text into a register
357|yy| N yy yank N lines into a register
358|Y| N Y yank N lines into a register
359|p| N p put a register after the cursor position (N times)
360|P| N P put a register before the cursor position (N times)
361|]p| N ]p like p, but adjust indent to current line
362|[p| N [p like P, but adjust indent to current line
363|gp| N gp like p, but leave cursor after the new text
364|gP| N gP like P, but leave cursor after the new text
365------------------------------------------------------------------------------
366*Q_ch* Changing text
367
368|r| N r{char} replace N characters with {char}
369|gr| N gr{char} replace N characters without affecting layout
370|R| N R enter Replace mode (repeat the entered text N times)
371|gR| N gR enter virtual Replace mode: Like Replace mode but
372 without affecting layout
Bram Moolenaar00154502013-02-13 16:15:55 +0100373|v_b_r| {visual}r{char}
Bram Moolenaar071d4272004-06-13 20:20:40 +0000374 in Visual block mode: Replace each char of the
375 selected text with {char}
376
377 (change = delete text and enter Insert mode)
378|c| N c{motion} change the text that is moved over with {motion}
379|v_c| {visual}c change the highlighted text
380|cc| N cc change N lines
381|S| N S change N lines
382|C| N C change to the end of the line (and N-1 more lines)
383|s| N s change N characters
384|v_b_c| {visual}c in Visual block mode: Change each of the selected
385 lines with the entered text
386|v_b_C| {visual}C in Visual block mode: Change each of the selected
387 lines until end-of-line with the entered text
388
389|~| N ~ switch case for N characters and advance cursor
390|v_~| {visual}~ switch case for highlighted text
391|v_u| {visual}u make highlighted text lowercase
392|v_U| {visual}U make highlighted text uppercase
393|g~| g~{motion} switch case for the text that is moved over with
394 {motion}
395|gu| gu{motion} make the text that is moved over with {motion}
396 lowercase
397|gU| gU{motion} make the text that is moved over with {motion}
398 uppercase
399|v_g?| {visual}g? perform rot13 encoding on highlighted text
400|g?| g?{motion} perform rot13 encoding on the text that is moved over
401 with {motion}
402
403|CTRL-A| N CTRL-A add N to the number at or after the cursor
404|CTRL-X| N CTRL-X subtract N from the number at or after the cursor
405
406|<| N <{motion} move the lines that are moved over with {motion} one
407 shiftwidth left
408|<<| N << move N lines one shiftwidth left
409|>| N >{motion} move the lines that are moved over with {motion} one
410 shiftwidth right
411|>>| N >> move N lines one shiftwidth right
412|gq| N gq{motion} format the lines that are moved over with {motion} to
413 'textwidth' length
414|:ce| :[range]ce[nter] [width]
415 center the lines in [range]
416|:le| :[range]le[ft] [indent]
417 left-align the lines in [range] (with [indent])
418|:ri| :[range]ri[ght] [width]
419 right-align the lines in [range]
420------------------------------------------------------------------------------
421*Q_co* Complex changes
422
423|!| N !{motion}{command}<CR>
424 filter the lines that are moved over through {command}
425|!!| N !!{command}<CR>
426 filter N lines through {command}
427|v_!| {visual}!{command}<CR>
428 filter the highlighted lines through {command}
429|:range!| :[range]! {command}<CR>
430 filter [range] lines through {command}
431|=| N ={motion}
432 filter the lines that are moved over through 'equalprg'
433|==| N == filter N lines through 'equalprg'
434|v_=| {visual}=
435 filter the highlighted lines through 'equalprg'
436|:s| :[range]s[ubstitute]/{pattern}/{string}/[g][c]
437 substitute {pattern} by {string} in [range] lines;
438 with [g], replace all occurrences of {pattern};
439 with [c], confirm each replacement
440|:s| :[range]s[ubstitute] [g][c]
441 repeat previous ":s" with new range and options
442|&| & Repeat previous ":s" on current line without options
443|:ret| :[range]ret[ab][!] [tabstop]
444 set 'tabstop' to new value and adjust white space
445 accordingly
446------------------------------------------------------------------------------
447*Q_vi* Visual mode
448
449|visual-index| list of Visual mode commands.
450
Bram Moolenaar00154502013-02-13 16:15:55 +0100451|v| v start highlighting characters } move cursor and use
452|V| V start highlighting linewise } operator to affect
Bram Moolenaar071d4272004-06-13 20:20:40 +0000453|CTRL-V| CTRL-V start highlighting blockwise } highlighted text
Bram Moolenaar00154502013-02-13 16:15:55 +0100454|v_o| o exchange cursor position with start of highlighting
455|gv| gv start highlighting on previous visual area
456|v_v| v highlight characters or stop highlighting
457|v_V| V highlight linewise or stop highlighting
Bram Moolenaar071d4272004-06-13 20:20:40 +0000458|v_CTRL-V| CTRL-V highlight blockwise or stop highlighting
459------------------------------------------------------------------------------
460*Q_to* Text objects (only in Visual mode or after an operator)
461
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000462|v_aw| N aw Select "a word"
463|v_iw| N iw Select "inner word"
464|v_aW| N aW Select "a |WORD|"
465|v_iW| N iW Select "inner |WORD|"
466|v_as| N as Select "a sentence"
467|v_is| N is Select "inner sentence"
468|v_ap| N ap Select "a paragraph"
469|v_ip| N ip Select "inner paragraph"
470|v_ab| N ab Select "a block" (from "[(" to "])")
471|v_ib| N ib Select "inner block" (from "[(" to "])")
472|v_aB| N aB Select "a Block" (from "[{" to "]}")
473|v_iB| N iB Select "inner Block" (from "[{" to "]}")
474|v_a>| N a> Select "a <> block"
475|v_i>| N i> Select "inner <> block"
476|v_at| N at Select "a tag block" (from <aaa> to </aaa>)
477|v_it| N it Select "inner tag block" (from <aaa> to </aaa>)
478|v_a'| N a' Select "a single quoted string"
479|v_i'| N i' Select "inner single quoted string"
480|v_aquote| N a" Select "a double quoted string"
481|v_iquote| N i" Select "inner double quoted string"
482|v_a`| N a` Select "a backward quoted string"
483|v_i`| N i` Select "inner backward quoted string"
484
Bram Moolenaar071d4272004-06-13 20:20:40 +0000485------------------------------------------------------------------------------
486*Q_re* Repeating commands
487
488|.| N . repeat last change (with count replaced with N)
489|q| q{a-z} record typed characters into register {a-z}
490|q| q{A-Z} record typed characters, appended to register {a-z}
491|q| q stop recording
492|@| N @{a-z} execute the contents of register {a-z} (N times)
493|@@| N @@ repeat previous @{a-z} (N times)
494|:@| :@{a-z} execute the contents of register {a-z} as an Ex
495 command
496|:@@| :@@ repeat previous :@{a-z}
497|:g| :[range]g[lobal]/{pattern}/[cmd]
Bram Moolenaard04b7502010-07-08 22:27:55 +0200498 execute Ex command [cmd] (default: ":p") on the lines
499 within [range] where {pattern} matches
Bram Moolenaar071d4272004-06-13 20:20:40 +0000500|:g| :[range]g[lobal]!/{pattern}/[cmd]
Bram Moolenaard04b7502010-07-08 22:27:55 +0200501 execute Ex command [cmd] (default: ":p") on the lines
502 within [range] where {pattern} does NOT match
Bram Moolenaar071d4272004-06-13 20:20:40 +0000503|:so| :so[urce] {file}
Bram Moolenaard04b7502010-07-08 22:27:55 +0200504 read Ex commands from {file}
Bram Moolenaar071d4272004-06-13 20:20:40 +0000505|:so| :so[urce]! {file}
Bram Moolenaard04b7502010-07-08 22:27:55 +0200506 read Vim commands from {file}
Bram Moolenaar071d4272004-06-13 20:20:40 +0000507|:sl| :sl[eep] [sec]
508 don't do anything for [sec] seconds
Bram Moolenaard04b7502010-07-08 22:27:55 +0200509|gs| N gs goto Sleep for N seconds
Bram Moolenaar071d4272004-06-13 20:20:40 +0000510------------------------------------------------------------------------------
511*Q_km* Key mapping
512
Bram Moolenaar00154502013-02-13 16:15:55 +0100513|:map| :ma[p] {lhs} {rhs} map {lhs} to {rhs} in Normal and Visual mode
514|:map!| :ma[p]! {lhs} {rhs} map {lhs} to {rhs} in Insert and Command-line
Bram Moolenaard04b7502010-07-08 22:27:55 +0200515 mode
Bram Moolenaar071d4272004-06-13 20:20:40 +0000516|:noremap| :no[remap][!] {lhs} {rhs}
Bram Moolenaard04b7502010-07-08 22:27:55 +0200517 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
Bram Moolenaar00154502013-02-13 16:15:55 +0100526|:cmap| :cmap/:cunmap/:cnoremap
Bram Moolenaar071d4272004-06-13 20:20:40 +0000527 like ":map!"/":unmap!"/":noremap!" but for
528 Command-line mode only
Bram Moolenaar00154502013-02-13 16:15:55 +0100529|:imap| :imap/:iunmap/:inoremap
Bram Moolenaar071d4272004-06-13 20:20:40 +0000530 like ":map!"/":unmap!"/":noremap!" but for
531 Insert mode only
Bram Moolenaar00154502013-02-13 16:15:55 +0100532|:nmap| :nmap/:nunmap/:nnoremap
Bram Moolenaar071d4272004-06-13 20:20:40 +0000533 like ":map"/":unmap"/":noremap" but for
534 Normal mode only
Bram Moolenaar00154502013-02-13 16:15:55 +0100535|:vmap| :vmap/:vunmap/:vnoremap
Bram Moolenaar071d4272004-06-13 20:20:40 +0000536 like ":map"/":unmap"/":noremap" but for
537 Visual mode only
Bram Moolenaar00154502013-02-13 16:15:55 +0100538|:omap| :omap/:ounmap/:onoremap
Bram Moolenaar071d4272004-06-13 20:20:40 +0000539 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
Bram Moolenaard04b7502010-07-08 22:27:55 +0200556 this session later
Bram Moolenaar071d4272004-06-13 20:20:40 +0000557------------------------------------------------------------------------------
558*Q_ab* Abbreviations
559
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
573
Bram Moolenaard04b7502010-07-08 22:27:55 +0200574|: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}
Bram Moolenaar071d4272004-06-13 20:20:40 +0000582|: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
Bram Moolenaard04b7502010-07-08 22:27:55 +0200586|:set| :se[t] {option}? show value of {option}
587|:set| :se[t] {option}& reset {option} to its default value
Bram Moolenaar071d4272004-06-13 20:20:40 +0000588
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
593
Bram Moolenaard04b7502010-07-08 22:27:55 +0200594|: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
Bram Moolenaar071d4272004-06-13 20:20:40 +0000597 options, grouped by functionality,
598 a one line explanation and links to
Bram Moolenaard04b7502010-07-08 22:27:55 +0200599 the help
Bram Moolenaar071d4272004-06-13 20:20:40 +0000600
601Short explanation of each option: *option-list*
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000602'aleph' 'al' ASCII code of the letter Aleph (Hebrew)
603'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode
Bram Moolenaar25c9c682019-05-05 18:13:34 +0200604'altkeymap' 'akm' obsolete option for Farsi
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000605'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width
606'antialias' 'anti' Mac OS X: use smooth, antialiased fonts
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000607'arabic' 'arab' for Arabic as a default second language
608'arabicshape' 'arshape' do shaping for Arabic characters
Teppei Taguchi0280c0b2023-12-06 00:37:32 +0900609'autochdir' 'acd' change directory to the file in the current window
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000610'autoindent' 'ai' take indent for new line from previous line
611'autoread' 'ar' autom. read file when changed outside of Vim
Teppei Taguchi0280c0b2023-12-06 00:37:32 +0900612'autoshelldir' 'asd' change directory to the shell's current directory
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000613'autowrite' 'aw' automatically write file if changed
614'autowriteall' 'awa' as 'autowrite', but works with more commands
615'background' 'bg' "dark" or "light", used for highlight colors
616'backspace' 'bs' how backspace works at start of line
617'backup' 'bk' keep backup file after overwriting a file
618'backupcopy' 'bkc' make backup as a copy, don't rename the file
619'backupdir' 'bdir' list of directories for the backup file
620'backupext' 'bex' extension used for the backup file
621'backupskip' 'bsk' no backup for files that match these patterns
622'balloondelay' 'bdlay' delay in mS before a balloon may pop up
Bram Moolenaara2a80162017-11-21 23:09:50 +0100623'ballooneval' 'beval' switch on balloon evaluation in the GUI
624'balloonevalterm' 'bevalterm' switch on balloon evaluation in the terminal
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000625'balloonexpr' 'bexpr' expression to show in balloon
Bram Moolenaarf9132812015-07-21 19:19:13 +0200626'belloff' 'bo' do not ring the bell for these reasons
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000627'binary' 'bin' read/write/edit file in binary mode
628'bioskey' 'biosk' MS-DOS: use bios calls for input characters
629'bomb' prepend a Byte Order Mark to the file
630'breakat' 'brk' characters that may cause a line break
Bram Moolenaar664f3cf2019-12-07 16:03:51 +0100631'breakindent' 'bri' wrapped line repeats indent
Bram Moolenaar946e27a2014-06-25 18:50:27 +0200632'breakindentopt' 'briopt' settings for 'breakindent'
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000633'browsedir' 'bsdir' which directory to start browsing in
634'bufhidden' 'bh' what to do when buffer is no longer in window
635'buflisted' 'bl' whether the buffer shows up in the buffer list
636'buftype' 'bt' special type of buffer
637'casemap' 'cmp' specifies how case of letters is changed
Bakudankun29f3a452021-12-11 12:28:08 +0000638'cdhome' 'cdh' change directory to the home directory by ":cd"
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000639'cdpath' 'cd' list of directories searched with ":cd"
640'cedit' key used to open the command-line window
641'charconvert' 'ccv' expression for character encoding conversion
64-bitman88d41ab2025-04-06 17:20:39 +0200642'chistory' 'chi' maximum number of quickfix lists in history
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000643'cindent' 'cin' do C program indenting
644'cinkeys' 'cink' keys that trigger indent when 'cindent' is set
645'cinoptions' 'cino' how to do indenting when 'cindent' is set
Bram Moolenaar8a3b8052022-06-26 12:21:15 +0100646'cinscopedecls' 'cinsd' words that are recognized by 'cino-g'
Teppei Taguchi0280c0b2023-12-06 00:37:32 +0900647'cinwords' 'cinw' words where 'si' and 'cin' add an indent
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000648'clipboard' 'cb' use the clipboard as the unnamed register
Foxe Chenb90c2392025-06-27 21:10:35 +0200649'clipmethod' 'cpm' specify order of what clipboard methods to use
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000650'cmdheight' 'ch' number of lines to use for the command-line
651'cmdwinheight' 'cwh' height of the command-line window
Bram Moolenaar607cc1e2010-07-18 18:47:44 +0200652'colorcolumn' 'cc' columns to highlight
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000653'columns' 'co' number of columns in the display
654'comments' 'com' patterns that can start a comment line
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000655'commentstring' 'cms' template for comments; used for fold marker
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000656'compatible' 'cp' behave Vi-compatible as much as possible
657'complete' 'cpt' specify how Insert mode completion works
658'completefunc' 'cfu' function to be used for Insert mode completion
659'completeopt' 'cot' options for Insert mode completion
Bram Moolenaar36e4d982019-08-20 21:12:16 +0200660'completepopup' 'cpp' options for the Insert mode completion info popup
Bram Moolenaar088e8e32019-08-08 22:15:18 +0200661'completeslash' 'csl' like 'shellslash' for completion
Bram Moolenaarf5963f72010-07-23 22:10:27 +0200662'concealcursor' 'cocu' whether concealable text is hidden in cursor line
Bram Moolenaardc8b25c2013-07-06 13:58:22 +0200663'conceallevel' 'cole' whether concealable text is shown or hidden
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000664'confirm' 'cf' ask what to do about unsaved/read-only files
665'conskey' 'consk' get keys directly from console (MS-DOS only)
666'copyindent' 'ci' make 'autoindent' use existing indent structure
667'cpoptions' 'cpo' flags for Vi-compatible behavior
Bram Moolenaarb702c842010-05-18 22:28:22 +0200668'cryptmethod' 'cm' type of encryption to use for file writing
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000669'cscopepathcomp' 'cspc' how many components of the path to show
670'cscopeprg' 'csprg' command to execute cscope
671'cscopequickfix' 'csqf' use quickfix window for cscope results
Bram Moolenaar251e1912011-06-19 05:09:16 +0200672'cscoperelative' 'csre' Use cscope.out path basename as prefix
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000673'cscopetag' 'cst' use cscope for tag commands
674'cscopetagorder' 'csto' determines ":cstag" search order
675'cscopeverbose' 'csverb' give messages when adding a cscope database
Bram Moolenaarb2c03502010-07-02 20:20:09 +0200676'cursorbind' 'crb' move cursor in window as it moves in other windows
Bram Moolenaar60f83772006-03-12 21:52:47 +0000677'cursorcolumn' 'cuc' highlight the screen column of the cursor
678'cursorline' 'cul' highlight the screen line of the cursor
Bram Moolenaar410e98a2019-09-09 22:05:49 +0200679'cursorlineopt' 'culopt' settings for 'cursorline'
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000680'debug' set to "msg" to see all error messages
681'define' 'def' pattern to be used to find a macro definition
682'delcombine' 'deco' delete combining characters on their own
683'dictionary' 'dict' list of file names used for keyword completion
684'diff' use diff mode for the current window
685'diffexpr' 'dex' expression used to obtain a diff file
686'diffopt' 'dip' options for using diff mode
687'digraph' 'dg' enable the entering of digraphs in Insert mode
688'directory' 'dir' list of directory names for the swap file
689'display' 'dy' list of flags for how to display text
690'eadirection' 'ead' in which direction 'equalalways' works
691'edcompatible' 'ed' toggle flags of ":substitute" command
Bram Moolenaar03413f42016-04-12 21:07:15 +0200692'emoji' 'emo' emoji characters are considered full width
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000693'encoding' 'enc' encoding used internally
Bram Moolenaar6ebe4f92022-10-28 20:47:54 +0100694'endoffile' 'eof' write CTRL-Z at end of the file
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000695'endofline' 'eol' write <EOL> for last line in file
696'equalalways' 'ea' windows are automatically made the same size
697'equalprg' 'ep' external program to use for "=" command
698'errorbells' 'eb' ring the bell for error messages
699'errorfile' 'ef' name of the errorfile for the QuickFix mode
700'errorformat' 'efm' description of the lines in the error file
701'esckeys' 'ek' recognize function keys in Insert mode
702'eventignore' 'ei' autocommand events that are ignored
Luuk van Baalb7147f82025-02-08 18:52:39 +0100703'eventignorewin' 'eiw' autocommand events that are ignored in a window
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000704'expandtab' 'et' use spaces when <Tab> is inserted
705'exrc' 'ex' read .vimrc and .exrc in the current directory
Bram Moolenaar207f0092020-08-30 17:20:20 +0200706'fileencoding' 'fenc' file encoding for multibyte text
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000707'fileencodings' 'fencs' automatically detected character encodings
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000708'fileformat' 'ff' file format used for file I/O
709'fileformats' 'ffs' automatically detected values for 'fileformat'
Bram Moolenaar91fc43d2013-04-05 15:41:05 +0200710'fileignorecase' 'fic' ignore case when using file names
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000711'filetype' 'ft' type of file, used for autocommands
712'fillchars' 'fcs' characters to use for displaying special items
Yegappan Lakshmanana13f3a42024-11-02 18:40:10 +0100713'findfunc' 'ffu' function to be called for the |:find| command
Bram Moolenaarf9132812015-07-21 19:19:13 +0200714'fixendofline' 'fixeol' make sure last line in file has <EOL>
Bram Moolenaar25c9c682019-05-05 18:13:34 +0200715'fkmap' 'fk' obsolete option for Farsi
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000716'foldclose' 'fcl' close a fold when the cursor leaves it
717'foldcolumn' 'fdc' width of the column used to indicate folds
718'foldenable' 'fen' set to display all folds open
719'foldexpr' 'fde' expression used when 'foldmethod' is "expr"
720'foldignore' 'fdi' ignore lines when 'foldmethod' is "indent"
721'foldlevel' 'fdl' close folds with a level higher than this
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000722'foldlevelstart' 'fdls' 'foldlevel' when starting to edit a file
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000723'foldmarker' 'fmr' markers used when 'foldmethod' is "marker"
724'foldmethod' 'fdm' folding type
725'foldminlines' 'fml' minimum number of lines for a fold to be closed
726'foldnestmax' 'fdn' maximum fold depth
727'foldopen' 'fdo' for which commands a fold will be opened
728'foldtext' 'fdt' expression used to display for a closed fold
Bram Moolenaarf9132812015-07-21 19:19:13 +0200729'formatexpr' 'fex' expression used with "gq" command
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000730'formatlistpat' 'flp' pattern used to recognize a list header
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000731'formatoptions' 'fo' how automatic formatting is to be done
732'formatprg' 'fp' name of external program used with "gq" command
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000733'fsync' 'fs' whether to invoke fsync() after file write
734'gdefault' 'gd' the ":substitute" flag 'g' is default on
735'grepformat' 'gfm' format of 'grepprg' output
736'grepprg' 'gp' program to use for ":grep"
737'guicursor' 'gcr' GUI: settings for cursor shape and blinking
738'guifont' 'gfn' GUI: Name(s) of font(s) to be used
Bram Moolenaar207f0092020-08-30 17:20:20 +0200739'guifontset' 'gfs' GUI: Names of multibyte fonts to be used
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000740'guifontwide' 'gfw' list of font names for double-wide characters
741'guiheadroom' 'ghr' GUI: pixels room for window decorations
Bram Moolenaar079ba762021-10-23 12:08:41 +0100742'guiligatures' 'gli' GTK GUI: ASCII characters that can form shapes
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000743'guioptions' 'go' GUI: Which components and options are used
744'guipty' GUI: try to use a pseudo-tty for ":!" commands
745'guitablabel' 'gtl' GUI: custom label for a tab page
Bram Moolenaar57657d82006-04-21 22:12:41 +0000746'guitabtooltip' 'gtt' GUI: custom tooltip for a tab page
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000747'helpfile' 'hf' full path name of the main help file
748'helpheight' 'hh' minimum height of a new help window
749'helplang' 'hlg' preferred help languages
750'hidden' 'hid' don't unload buffer when it is |abandon|ed
751'highlight' 'hl' sets highlighting mode for various occasions
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000752'history' 'hi' number of command-lines that are remembered
753'hkmap' 'hk' Hebrew keyboard mapping
754'hkmapp' 'hkp' phonetic Hebrew keyboard mapping
Bram Moolenaarf9132812015-07-21 19:19:13 +0200755'hlsearch' 'hls' highlight matches with last search pattern
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000756'icon' let Vim set the text of the window icon
757'iconstring' string to use for the Vim icon text
758'ignorecase' 'ic' ignore case in search patterns
Bram Moolenaar14b69452013-06-29 23:05:20 +0200759'imactivatefunc' 'imaf' function to enable/disable the X input method
Bram Moolenaarf9132812015-07-21 19:19:13 +0200760'imactivatekey' 'imak' key that activates the X input method
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000761'imcmdline' 'imc' use IM when starting to edit a command line
762'imdisable' 'imd' do not use the IM in any mode
763'iminsert' 'imi' use :lmap or IM in Insert mode
764'imsearch' 'ims' use :lmap or IM when typing a search pattern
Bram Moolenaar14b69452013-06-29 23:05:20 +0200765'imstatusfunc' 'imsf' function to obtain X input method status
Bram Moolenaar37c64c72017-09-19 22:06:03 +0200766'imstyle' 'imst' specifies the input style of the input method
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000767'include' 'inc' pattern to be used to find an include file
768'includeexpr' 'inex' expression used to process an include line
769'incsearch' 'is' highlight match while typing search pattern
770'indentexpr' 'inde' expression used to obtain the indent of a line
771'indentkeys' 'indk' keys that trigger indenting with 'indentexpr'
772'infercase' 'inf' adjust case of match for keyword completion
773'insertmode' 'im' start the edit of a file in Insert mode
774'isfname' 'isf' characters included in file names and pathnames
775'isident' 'isi' characters included in identifiers
776'iskeyword' 'isk' characters included in keywords
777'isprint' 'isp' printable characters
778'joinspaces' 'js' two spaces after a period with a join command
Yegappan Lakshmanan87018252023-09-20 20:20:04 +0200779'jumpoptions' 'jop' specifies how jumping is done
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000780'key' encryption key
781'keymap' 'kmp' name of a keyboard mapping
782'keymodel' 'km' enable starting/stopping selection with keys
Bram Moolenaar63a2e362022-11-23 20:20:18 +0000783'keyprotocol' 'kpc' what keyboard protocol to use for what terminal
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000784'keywordprg' 'kp' program to use for the "K" command
785'langmap' 'lmap' alphabetic characters for other language mode
786'langmenu' 'lm' language to be used for the menus
Bram Moolenaar25c9c682019-05-05 18:13:34 +0200787'langnoremap' 'lnr' do not apply 'langmap' to mapped characters
Bram Moolenaare4a3bcf2016-08-26 19:52:37 +0200788'langremap' 'lrm' do apply 'langmap' to mapped characters
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000789'laststatus' 'ls' tells when last window has status lines
790'lazyredraw' 'lz' don't redraw while executing macros
64-bitman88d41ab2025-04-06 17:20:39 +0200791'lhistory' 'lhi' maximum number of location lists in history
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000792'linebreak' 'lbr' wrap long lines at a blank
793'lines' number of lines in the display
794'linespace' 'lsp' number of pixel lines to use between characters
795'lisp' automatic indenting for Lisp
Bram Moolenaar3c053a12022-10-16 13:11:12 +0100796'lispoptions' 'lop' changes how Lisp indenting is done
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000797'lispwords' 'lw' words that change how lisp indenting works
798'list' show <Tab> and <EOL>
799'listchars' 'lcs' characters for displaying in list mode
800'loadplugins' 'lpl' load plugin scripts when starting up
Bram Moolenaarb4ff5182015-11-10 21:15:48 +0100801'luadll' name of the Lua dynamic library
Bram Moolenaarf9393ef2006-04-24 19:47:27 +0000802'macatsui' Mac GUI: use ATSUI text drawing
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000803'magic' changes special characters in search patterns
804'makeef' 'mef' name of the errorfile for ":make"
Bram Moolenaar2c7292d2017-03-05 17:43:31 +0100805'makeencoding' 'menc' encoding of external make/grep commands
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000806'makeprg' 'mp' program to use for the ":make" command
807'matchpairs' 'mps' pairs of characters that "%" can match
808'matchtime' 'mat' tenths of a second to show matching paren
809'maxcombine' 'mco' maximum nr of combining characters displayed
810'maxfuncdepth' 'mfd' maximum recursive depth for user functions
811'maxmapdepth' 'mmd' maximum recursive depth for mapping
812'maxmem' 'mm' maximum memory (in Kbyte) used for one buffer
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000813'maxmempattern' 'mmp' maximum memory (in Kbyte) used for pattern search
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000814'maxmemtot' 'mmt' maximum memory (in Kbyte) used for all buffers
815'menuitems' 'mis' maximum number of items in a menu
816'mkspellmem' 'msm' memory used before |:mkspell| compresses the tree
817'modeline' 'ml' recognize modelines at start or end of file
Bram Moolenaar68e65602019-05-26 21:33:31 +0200818'modelineexpr' 'mle' allow setting expression options from a modeline
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000819'modelines' 'mls' number of lines checked for modelines
820'modifiable' 'ma' changes to the text are not possible
821'modified' 'mod' buffer has been modified
822'more' pause listings when the whole screen is filled
823'mouse' enable the use of mouse clicks
824'mousefocus' 'mousef' keyboard focus follows the mouse
825'mousehide' 'mh' hide mouse pointer while typing
826'mousemodel' 'mousem' changes meaning of mouse buttons
Bram Moolenaarcbaff5e2022-04-08 17:45:08 +0100827'mousemoveevent' 'mousemev' report mouse moves with <MouseMove>
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000828'mouseshape' 'mouses' shape of the mouse pointer in different modes
829'mousetime' 'mouset' max time between mouse double-click
830'mzquantum' 'mzq' the interval between polls for MzScheme threads
Bram Moolenaar25c9c682019-05-05 18:13:34 +0200831'mzschemedll' name of the MzScheme dynamic library
832'mzschemegcdll' name of the MzScheme dynamic library for GC
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000833'nrformats' 'nf' number formats recognized for CTRL-A command
834'number' 'nu' print the line number in front of each line
835'numberwidth' 'nuw' number of columns used for the line number
836'omnifunc' 'ofu' function for filetype-specific completion
Bram Moolenaar9964e462007-05-05 17:54:07 +0000837'opendevice' 'odev' allow reading/writing devices on MS-Windows
838'operatorfunc' 'opfunc' function to be called for |g@| operator
Bram Moolenaarf3913272016-02-25 00:00:01 +0100839'osfiletype' 'oft' no longer supported
840'packpath' 'pp' list of directories used for packages
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000841'paragraphs' 'para' nroff macros that separate paragraphs
842'paste' allow pasting text
843'pastetoggle' 'pt' key code that causes 'paste' to toggle
844'patchexpr' 'pex' expression used to patch a file
845'patchmode' 'pm' keep the oldest version of a file
846'path' 'pa' list of directories searched with "gf" et.al.
Bram Moolenaarb4ff5182015-11-10 21:15:48 +0100847'perldll' name of the Perl dynamic library
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000848'preserveindent' 'pi' preserve the indent structure when reindenting
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000849'previewheight' 'pvh' height of the preview window
Bram Moolenaar85850f32019-07-19 22:05:51 +0200850'previewpopup' 'pvp' use popup window for preview
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000851'previewwindow' 'pvw' identifies the preview window
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000852'printdevice' 'pdev' name of the printer to be used for :hardcopy
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000853'printencoding' 'penc' encoding to be used for printing
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000854'printexpr' 'pexpr' expression used to print PostScript for :hardcopy
855'printfont' 'pfn' name of the font to be used for :hardcopy
856'printheader' 'pheader' format of the header used for :hardcopy
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000857'printmbcharset' 'pmbcs' CJK character set to be used for :hardcopy
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000858'printmbfont' 'pmbfn' font names to be used for CJK output of :hardcopy
859'printoptions' 'popt' controls the format of :hardcopy output
Bram Moolenaara02a5512016-06-17 12:48:11 +0200860'prompt' 'prompt' enable prompt in Ex mode
Bram Moolenaar833dc522007-05-12 13:26:40 +0000861'pumheight' 'ph' maximum height of the popup menu
Bram Moolenaar22f1d0e2018-02-27 14:53:30 +0100862'pumwidth' 'pw' minimum width of the popup menu
Bram Moolenaarb4ff5182015-11-10 21:15:48 +0100863'pythondll' name of the Python 2 dynamic library
Bram Moolenaar94073162018-01-31 21:49:05 +0100864'pythonhome' name of the Python 2 home directory
Bram Moolenaarb4ff5182015-11-10 21:15:48 +0100865'pythonthreedll' name of the Python 3 dynamic library
Bram Moolenaar94073162018-01-31 21:49:05 +0100866'pythonthreehome' name of the Python 3 home directory
Bram Moolenaarf42dd3c2017-01-28 16:06:38 +0100867'pyxversion' 'pyx' Python version used for pyx* commands
Bram Moolenaaracc22402020-06-07 21:07:18 +0200868'quickfixtextfunc' 'qftf' function for the text in the quickfix window
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000869'quoteescape' 'qe' escape characters used in a string
870'readonly' 'ro' disallow writing the buffer
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000871'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting
Bram Moolenaare6ae6222013-05-21 21:01:10 +0200872'regexpengine' 're' default regexp engine to use
Bram Moolenaar64486672010-05-16 15:46:46 +0200873'relativenumber' 'rnu' show relative line number in front of each line
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000874'remap' allow mappings to work recursively
Bram Moolenaarfb539272014-08-22 19:21:47 +0200875'renderoptions' 'rop' options for text rendering on Windows
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000876'report' threshold for reporting nr. of lines changed
877'restorescreen' 'rs' Win32: restore screen when exiting
878'revins' 'ri' inserting characters will work backwards
879'rightleft' 'rl' window is right-to-left oriented
880'rightleftcmd' 'rlc' commands for which editing works right-to-left
Bram Moolenaarb4ff5182015-11-10 21:15:48 +0100881'rubydll' name of the Ruby dynamic library
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000882'ruler' 'ru' show cursor line and column in the status line
883'rulerformat' 'ruf' custom format for the ruler
884'runtimepath' 'rtp' list of directories used for runtime files
885'scroll' 'scr' lines to scroll with CTRL-U and CTRL-D
886'scrollbind' 'scb' scroll in window as other windows scroll
Bram Moolenaar5ef1c6a2019-11-10 22:09:11 +0100887'scrollfocus' 'scf' scroll wheel applies to window under pointer
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000888'scrolljump' 'sj' minimum number of lines to scroll
889'scrolloff' 'so' minimum nr. of lines above and below cursor
890'scrollopt' 'sbo' how 'scrollbind' should behave
891'sections' 'sect' nroff macros that separate sections
892'secure' secure mode for reading .vimrc in current dir
893'selection' 'sel' what type of selection to use
894'selectmode' 'slm' when to use Select mode instead of Visual mode
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000895'sessionoptions' 'ssop' options for |:mksession|
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000896'shell' 'sh' name of shell to use for external commands
897'shellcmdflag' 'shcf' flag to shell to execute one command
898'shellpipe' 'sp' string to put output of ":make" in error file
899'shellquote' 'shq' quote character(s) for around shell command
900'shellredir' 'srr' string to put output of filter in a temp file
901'shellslash' 'ssl' use forward slash for shell file names
902'shelltemp' 'stmp' whether to use a temp file for shell commands
903'shelltype' 'st' Amiga: influences how to use a shell
Bram Moolenaardb7207e2012-02-22 17:30:19 +0100904'shellxescape' 'sxe' characters to escape when 'shellxquote' is (
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000905'shellxquote' 'sxq' like 'shellquote', but include redirection
906'shiftround' 'sr' round indent to multiple of shiftwidth
907'shiftwidth' 'sw' number of spaces to use for (auto)indent step
908'shortmess' 'shm' list of flags, reduce length of messages
Bram Moolenaar5666fcd2019-12-26 14:35:26 +0100909'shortname' 'sn' Filenames assumed to be 8.3 chars
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000910'showbreak' 'sbr' string to use at the start of wrapped lines
Bram Moolenaarf1dcd142022-12-31 15:30:45 +0000911'showcmd' 'sc' show (partial) command somewhere
912'showcmdloc' 'sloc' where to show (partial) command
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000913'showfulltag' 'sft' show full tag pattern when completing tag
914'showmatch' 'sm' briefly jump to matching bracket if insert one
915'showmode' 'smd' message on status line to show current mode
916'showtabline' 'stal' tells when the tab pages line is displayed
917'sidescroll' 'ss' minimum number of columns to scroll horizontal
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000918'sidescrolloff' 'siso' min. nr. of columns to left and right of cursor
Bram Moolenaar09521312016-08-12 22:54:35 +0200919'signcolumn' 'scl' when to display the sign column
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000920'smartcase' 'scs' no ignore case when pattern has uppercase
921'smartindent' 'si' smart autoindenting for C programs
Damien Lejayd6c9ac92025-06-04 21:19:18 +0200922'smarttab' 'sta' <Tab> in leading whitespace indents by 'shiftwidth'
Bram Moolenaarf6196f42022-10-02 21:29:55 +0100923'smoothscroll' 'sms' scroll by screen lines when 'wrap' is set
Damien Lejay91af4c42025-06-12 21:56:19 +0200924'softtabstop' 'sts' number of columns between two soft tab stops
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000925'spell' enable spell checking
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000926'spellcapcheck' 'spc' pattern to locate end of a sentence
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000927'spellfile' 'spf' files where |zg| and |zw| store words
928'spelllang' 'spl' language(s) to do spell checking for
Bram Moolenaar65e0d772020-06-14 17:29:55 +0200929'spelloptions' 'spo' options for spell checking
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000930'spellsuggest' 'sps' method(s) used to suggest spelling corrections
931'splitbelow' 'sb' new window from split is below the current one
Luuk van Baal13ece2a2022-10-03 15:28:08 +0100932'splitkeep' 'spk' determines scroll behavior for split windows
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000933'splitright' 'spr' new window is put right of the current one
Bram Moolenaar3577c6f2008-06-24 21:16:56 +0000934'startofline' 'sol' commands move cursor to first non-blank in line
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000935'statusline' 'stl' custom format for the status line
936'suffixes' 'su' suffixes that are ignored with multiple match
937'suffixesadd' 'sua' suffixes added when searching for a file
938'swapfile' 'swf' whether to use a swapfile for a buffer
939'swapsync' 'sws' how to sync the swap file
940'switchbuf' 'swb' sets behavior when switching to another buffer
941'synmaxcol' 'smc' maximum column to find syntax items
942'syntax' 'syn' syntax to be loaded for current buffer
LemonBoy5247b0b2024-07-12 19:30:58 +0200943'tabclose' 'tcl' which tab page to focus when closing a tab
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000944'tabline' 'tal' custom format for the console tab pages line
945'tabpagemax' 'tpm' maximum number of tab pages for |-p| and "tab all"
Damien Lejaybfa16362025-06-10 21:12:31 +0200946'tabstop' 'ts' number of columns between two tab stops
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000947'tagbsearch' 'tbs' use binary searching in tags files
Bram Moolenaar0f6562e2015-11-24 18:48:14 +0100948'tagcase' 'tc' how to handle case when searching in tags files
Bram Moolenaar25c9c682019-05-05 18:13:34 +0200949'tagfunc' 'tfu' function to get list of tag matches
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000950'taglength' 'tl' number of significant characters for a tag
951'tagrelative' 'tr' file names in tag file are relative
952'tags' 'tag' list of file names used by the tag command
953'tagstack' 'tgst' push tags onto the tag stack
Bram Moolenaar8a5115c2016-01-09 19:41:11 +0100954'tcldll' name of the Tcl dynamic library
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000955'term' name of the terminal
956'termbidi' 'tbidi' terminal takes care of bi-directionality
957'termencoding' 'tenc' character encoding used by the terminal
Bram Moolenaar06481422016-04-30 15:13:38 +0200958'termguicolors' 'tgc' use GUI colors for the terminal
Bram Moolenaar7dda86f2018-04-20 22:36:41 +0200959'termwinkey' 'twk' key that precedes a Vim command in a terminal
960'termwinscroll' 'twsl' max number of scrollback lines in a terminal window
961'termwinsize' 'tws' size of a terminal window
Bram Moolenaarc6ddce32019-02-08 12:47:03 +0100962'termwintype' 'twt' MS-Windows: type of pty to use for terminal window
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000963'terse' shorten some messages
964'textauto' 'ta' obsolete, use 'fileformats'
965'textmode' 'tx' obsolete, use 'fileformat'
966'textwidth' 'tw' maximum width of text that is being inserted
967'thesaurus' 'tsr' list of thesaurus files for keyword completion
Yegappan Lakshmanan160e9942021-10-16 15:41:29 +0100968'thesaurusfunc' 'tsrfu' function to be used for thesaurus completion
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000969'tildeop' 'top' tilde command "~" behaves like an operator
970'timeout' 'to' time out on mappings and key codes
971'timeoutlen' 'tm' time out time in milliseconds
972'title' let Vim set the title of the window
973'titlelen' percentage of 'columns' used for window title
974'titleold' old title, restored when exiting
975'titlestring' string to use for the Vim window title
976'toolbar' 'tb' GUI: which items to show in the toolbar
Bram Moolenaar362e1a32006-03-06 23:29:24 +0000977'toolbariconsize' 'tbis' size of the toolbar icons (for GTK 2 only)
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000978'ttimeout' time out on mappings
979'ttimeoutlen' 'ttm' time out time for key codes in milliseconds
980'ttybuiltin' 'tbi' use built-in termcap before external termcap
981'ttyfast' 'tf' indicates a fast terminal connection
982'ttymouse' 'ttym' type of mouse codes generated
983'ttyscroll' 'tsl' maximum number of lines for a scroll
984'ttytype' 'tty' alias for 'term'
Bram Moolenaar1d689522010-05-28 20:54:39 +0200985'undodir' 'udir' where to store undo files
986'undofile' 'udf' save undo information in a file
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000987'undolevels' 'ul' maximum number of changes that can be undone
Bram Moolenaar365bdf72010-07-24 20:57:44 +0200988'undoreload' 'ur' max nr of lines to save for undo on a buffer reload
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000989'updatecount' 'uc' after this many characters flush swap file
990'updatetime' 'ut' after this many milliseconds flush swap file
Damien Lejay91af4c42025-06-12 21:56:19 +0200991'varsofttabstop' 'vsts' a list of number of columns between soft tab stops
992'vartabstop' 'vts' a list of number of columns between tab stops
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000993'verbose' 'vbs' give informative messages
994'verbosefile' 'vfile' file to write messages in
995'viewdir' 'vdir' directory where to store files with :mkview
996'viewoptions' 'vop' specifies what to save for :mkview
997'viminfo' 'vi' use .viminfo file upon startup and exiting
Bram Moolenaarf55e4c82017-08-01 20:44:53 +0200998'viminfofile' 'vif' file name used for the viminfo file
Bram Moolenaarc9b4b052006-04-30 18:54:39 +0000999'virtualedit' 've' when to use virtual editing
1000'visualbell' 'vb' use visual bell instead of beeping
1001'warn' warn for shell command when buffer was changed
Bram Moolenaar996343d2010-07-04 22:20:21 +02001002'weirdinvert' 'wiv' for terminals that have weird inversion method
Bram Moolenaarc9b4b052006-04-30 18:54:39 +00001003'whichwrap' 'ww' allow specified keys to cross line boundaries
1004'wildchar' 'wc' command-line character for wildcard expansion
1005'wildcharm' 'wcm' like 'wildchar' but also works when mapped
1006'wildignore' 'wig' files matching these patterns are not completed
Bram Moolenaar81af9252010-12-10 20:35:50 +01001007'wildignorecase' 'wic' ignore case when completing file names
Bram Moolenaarc9b4b052006-04-30 18:54:39 +00001008'wildmenu' 'wmnu' use menu for command line completion
1009'wildmode' 'wim' mode for 'wildchar' command-line expansion
Bram Moolenaard04b7502010-07-08 22:27:55 +02001010'wildoptions' 'wop' specifies how command line completion is done
Bram Moolenaarc9b4b052006-04-30 18:54:39 +00001011'winaltkeys' 'wak' when the windows system handles ALT keys
Bram Moolenaar7dd64a32019-05-31 21:41:05 +02001012'wincolor' 'wcr' window-local highlighting
Bram Moolenaar365bdf72010-07-24 20:57:44 +02001013'window' 'wi' nr of lines to scroll for CTRL-F and CTRL-B
Colin Kennedy21570352024-03-03 16:16:47 +01001014'winfixbuf' 'wfb' keep window focused on a single buffer
Bram Moolenaarc9b4b052006-04-30 18:54:39 +00001015'winfixheight' 'wfh' keep window height when opening/closing windows
1016'winfixwidth' 'wfw' keep window width when opening/closing windows
Teppei Taguchi0280c0b2023-12-06 00:37:32 +09001017'winheight' 'wh' minimum number of lines for the current window
Bram Moolenaarc9b4b052006-04-30 18:54:39 +00001018'winminheight' 'wmh' minimum number of lines for any window
1019'winminwidth' 'wmw' minimal number of columns for any window
Bram Moolenaarc572da52017-08-27 16:52:01 +02001020'winptydll' name of the winpty dynamic library
Bram Moolenaarc9b4b052006-04-30 18:54:39 +00001021'winwidth' 'wiw' minimal number of columns for current window
Foxe Chenb90c2392025-06-27 21:10:35 +02001022'wlseat' 'wse' the wayland seat to use
1023'wlsteal' 'wst' allow focus stealing functionality for wayland
1024'wltimeoutlen' 'wtm' timeout to use when polling in wayland
Bram Moolenaarc9b4b052006-04-30 18:54:39 +00001025'wrap' long lines wrap and continue on the next line
1026'wrapmargin' 'wm' chars from the right where wrapping starts
1027'wrapscan' 'ws' searches wrap around the end of the file
1028'write' writing to a file is allowed
1029'writeany' 'wa' write to file with no need for "!" override
1030'writebackup' 'wb' make a backup before overwriting a file
1031'writedelay' 'wd' delay this many msec for each char (for debug)
Bram Moolenaarfa3b7232021-12-24 13:18:38 +00001032'xtermcodes' request terminal codes from an xterm
Bram Moolenaar071d4272004-06-13 20:20:40 +00001033------------------------------------------------------------------------------
1034*Q_ur* Undo/Redo commands
1035
Bram Moolenaar00154502013-02-13 16:15:55 +01001036|u| N u undo last N changes
Bram Moolenaar071d4272004-06-13 20:20:40 +00001037|CTRL-R| N CTRL-R redo last N undone changes
Bram Moolenaar00154502013-02-13 16:15:55 +01001038|U| U restore last changed line
Bram Moolenaar071d4272004-06-13 20:20:40 +00001039------------------------------------------------------------------------------
1040*Q_et* External commands
1041
1042|:shell| :sh[ell] start a shell
1043|:!| :!{command} execute {command} with a shell
1044|K| K lookup keyword under the cursor with
1045 'keywordprg' program (default: "man")
1046------------------------------------------------------------------------------
1047*Q_qf* Quickfix commands
1048
1049|:cc| :cc [nr] display error [nr] (default is the same again)
1050|:cnext| :cn display the next error
1051|:cprevious| :cp display the previous error
1052|:clist| :cl list all errors
1053|:cfile| :cf read errors from the file 'errorfile'
Bram Moolenaar7b5f8322006-03-23 22:47:08 +00001054|:cgetbuffer| :cgetb like :cbuffer but don't jump to the first error
Bram Moolenaar87e25fd2005-07-27 21:13:01 +00001055|:cgetfile| :cg like :cfile but don't jump to the first error
Bram Moolenaar7b5f8322006-03-23 22:47:08 +00001056|:cgetexpr| :cgete like :cexpr but don't jump to the first error
Bram Moolenaar4770d092006-01-12 23:22:24 +00001057|:caddfile| :caddf add errors from the error file to the current
1058 quickfix list
1059|:caddexpr| :cad add errors from an expression to the current
Bram Moolenaar87e25fd2005-07-27 21:13:01 +00001060 quickfix list
1061|:cbuffer| :cb read errors from text in a buffer
1062|:cexpr| :cex read errors from an expression
Bram Moolenaar071d4272004-06-13 20:20:40 +00001063|:cquit| :cq quit without writing and return error code (to
1064 the compiler)
1065|:make| :make [args] start make, read errors, and jump to first
1066 error
1067|:grep| :gr[ep] [args] execute 'grepprg' to find matches and jump to
Bram Moolenaard04b7502010-07-08 22:27:55 +02001068 the first one
Bram Moolenaar071d4272004-06-13 20:20:40 +00001069------------------------------------------------------------------------------
1070*Q_vc* Various commands
1071
Bram Moolenaard04b7502010-07-08 22:27:55 +02001072|CTRL-L| CTRL-L clear and redraw the screen
Bram Moolenaar071d4272004-06-13 20:20:40 +00001073|CTRL-G| CTRL-G show current file name (with path) and cursor
1074 position
1075|ga| ga show ascii value of character under cursor in
1076 decimal, hex, and octal
Bram Moolenaar269ec652004-07-29 08:43:53 +00001077|g8| g8 for utf-8 encoding: show byte sequence for
Bram Moolenaard04b7502010-07-08 22:27:55 +02001078 character under cursor in hex
Bram Moolenaar071d4272004-06-13 20:20:40 +00001079|g_CTRL-G| g CTRL-G show cursor column, line, and character
1080 position
1081|CTRL-C| CTRL-C during searches: Interrupt the search
Bram Moolenaar5666fcd2019-12-26 14:35:26 +01001082|dos-CTRL-Break| CTRL-Break MS-Windows: during searches: Interrupt the
1083 search
Bram Moolenaar071d4272004-06-13 20:20:40 +00001084|<Del>| <Del> while entering a count: delete last character
1085|:version| :ve[rsion] show version information
Bram Moolenaarade0d392020-01-21 22:33:58 +01001086|:mode| :mode N set screen mode to N (obsolete)
Bram Moolenaar071d4272004-06-13 20:20:40 +00001087|:normal| :norm[al][!] {commands}
Bram Moolenaard04b7502010-07-08 22:27:55 +02001088 execute Normal mode commands
Bram Moolenaar00154502013-02-13 16:15:55 +01001089|Q| Q switch to "Ex" mode
Bram Moolenaar071d4272004-06-13 20:20:40 +00001090
1091|:redir| :redir >{file} redirect messages to {file}
1092|:silent| :silent[!] {command} execute {command} silently
1093|:confirm| :confirm {command} quit, write, etc., asking about
Bram Moolenaard04b7502010-07-08 22:27:55 +02001094 unsaved changes or read-only files
Bram Moolenaar071d4272004-06-13 20:20:40 +00001095|:browse| :browse {command} open/read/write file, using a
1096 file selection dialog
1097------------------------------------------------------------------------------
1098*Q_ce* Command-line editing
1099
1100|c_<Esc>| <Esc> abandon command-line (if 'wildchar' is
1101 <Esc>, type it twice)
1102
1103|c_CTRL-V| CTRL-V {char} insert {char} literally
1104|c_CTRL-V| CTRL-V {number} enter decimal value of character (up to
1105 three digits)
1106|c_CTRL-K| CTRL-K {char1} {char2}
1107 enter digraph (See |Q_di|)
Bram Moolenaar5be4cee2019-09-27 19:34:08 +02001108|c_CTRL-R| CTRL-R {register} insert the contents of a register
Bram Moolenaar071d4272004-06-13 20:20:40 +00001109
1110|c_<Left>| <Left>/<Right> cursor left/right
1111|c_<S-Left>| <S-Left>/<S-Right> cursor one word left/right
1112|c_CTRL-B| CTRL-B/CTRL-E cursor to beginning/end of command-line
1113
1114|c_<BS>| <BS> delete the character in front of the cursor
1115|c_<Del>| <Del> delete the character under the cursor
1116|c_CTRL-W| CTRL-W delete the word in front of the cursor
1117|c_CTRL-U| CTRL-U remove all characters
1118
1119|c_<Up>| <Up>/<Down> recall older/newer command-line that starts
1120 with current command
1121|c_<S-Up>| <S-Up>/<S-Down> recall older/newer command-line from history
Bram Moolenaarbc2eada2017-01-02 21:27:47 +01001122|c_CTRL-G| CTRL-G next match when 'incsearch' is active
1123|c_CTRL-T| CTRL-T previous match when 'incsearch' is active
Bram Moolenaar071d4272004-06-13 20:20:40 +00001124|:history| :his[tory] show older command-lines
1125
1126Context-sensitive completion on the command-line:
1127
1128|c_wildchar| 'wildchar' (default: <Tab>)
1129 do completion on the pattern in front of the
Bram Moolenaard04b7502010-07-08 22:27:55 +02001130 cursor; if there are multiple matches,
Bram Moolenaar071d4272004-06-13 20:20:40 +00001131 beep and show the first one; further
Bram Moolenaard04b7502010-07-08 22:27:55 +02001132 'wildchar' will show the next ones
Bram Moolenaar071d4272004-06-13 20:20:40 +00001133|c_CTRL-D| CTRL-D list all names that match the pattern in
1134 front of the cursor
1135|c_CTRL-A| CTRL-A insert all names that match pattern in front
1136 of cursor
1137|c_CTRL-L| CTRL-L insert longest common part of names that
1138 match pattern
1139|c_CTRL-N| CTRL-N after 'wildchar' with multiple matches: go
1140 to next match
1141|c_CTRL-P| CTRL-P after 'wildchar' with multiple matches: go
1142 to previous match
1143------------------------------------------------------------------------------
1144*Q_ra* Ex ranges
1145
1146|:range| , separates two line numbers
1147|:range| ; idem, set cursor to the first line number
1148 before interpreting the second one
1149
1150|:range| {number} an absolute line number
1151|:range| . the current line
1152|:range| $ the last line in the file
1153|:range| % equal to 1,$ (the entire file)
1154|:range| * equal to '<,'> (visual area)
1155|:range| 't position of mark t
1156|:range| /{pattern}[/] the next line where {pattern} matches
1157|:range| ?{pattern}[?] the previous line where {pattern} matches
1158
1159|:range| +[num] add [num] to the preceding line number
1160 (default: 1)
1161|:range| -[num] subtract [num] from the preceding line
1162 number (default: 1)
1163------------------------------------------------------------------------------
1164*Q_ex* Special Ex characters
1165
Bram Moolenaar00154502013-02-13 16:15:55 +01001166|:bar| | separates two commands (not for ":global" and ":!")
Bram Moolenaar071d4272004-06-13 20:20:40 +00001167|:quote| " begins comment
1168
Bram Moolenaar00154502013-02-13 16:15:55 +01001169|:_%| % current file name (only where a file name is expected)
1170|:_#| #[num] alternate file name [num] (only where a file name is
Bram Moolenaar071d4272004-06-13 20:20:40 +00001171 expected)
Bram Moolenaar9028b102010-07-11 16:58:51 +02001172 Note: The next seven are typed literally; these are not special keys!
Bram Moolenaar24ea3ba2010-09-19 19:01:21 +02001173|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a
Bram Moolenaare667c952010-07-05 22:57:59 +02001174 file name is expected)
Bram Moolenaar24ea3ba2010-09-19 19:01:21 +02001175|:<afile>| <afile> file name, for use in an autocommand (only where a
Bram Moolenaare667c952010-07-05 22:57:59 +02001176 file name is expected)
Bram Moolenaar24ea3ba2010-09-19 19:01:21 +02001177|:<amatch>| <amatch> what matched with the pattern, for use in an
Bram Moolenaare667c952010-07-05 22:57:59 +02001178 autocommand (only where a file name is expected)
Bram Moolenaar071d4272004-06-13 20:20:40 +00001179|:<cword>| <cword> word under the cursor (only where a file name is
1180 expected)
1181|:<cWORD>| <cWORD> WORD under the cursor (only where a file name is
1182 expected) (see |WORD|)
1183|:<cfile>| <cfile> file name under the cursor (only where a file name is
1184 expected)
Bram Moolenaar071d4272004-06-13 20:20:40 +00001185|:<sfile>| <sfile> file name of a ":source"d file, within that file (only
1186 where a file name is expected)
1187
1188 After "%", "#", "<cfile>", "<sfile>" or "<afile>"
1189 |::p| :p full path
1190 |::h| :h head (file name removed)
1191 |::t| :t tail (file name only)
1192 |::r| :r root (extension removed)
1193 |::e| :e extension
1194 |::s| :s/{pat}/{repl}/ substitute {pat} with {repl}
1195------------------------------------------------------------------------------
Bram Moolenaar9028b102010-07-11 16:58:51 +02001196*Q_st* Starting Vim
Bram Moolenaar2df6dcc2004-07-12 15:53:54 +00001197
1198|-vim| vim [options] start editing with an empty buffer
1199|-file| vim [options] {file} .. start editing one or more files
1200|--| vim [options] - read file from stdin
1201|-tag| vim [options] -t {tag} edit the file associated with {tag}
1202|-qf| vim [options] -q [fname] start editing in QuickFix mode,
1203 display the first error
1204
1205 Most useful Vim arguments (for full list see |startup-options|)
1206
1207|-gui| -g start GUI (also allows other options)
1208
1209|-+| +[num] put the cursor at line [num] (default: last line)
1210|-+c| +{command} execute {command} after loading the file
1211|-+/| +/{pat} {file} .. put the cursor at the first occurrence of {pat}
1212|-v| -v Vi mode, start ex in Normal mode
1213|-e| -e Ex mode, start vim in Ex mode
1214|-R| -R Read-only mode, implies -n
1215|-m| -m modifications not allowed (resets 'write' option)
1216|-d| -d diff mode |diff|
1217|-b| -b binary mode
1218|-l| -l lisp mode
1219|-A| -A Arabic mode ('arabic' is set)
1220|-F| -F Farsi mode ('fkmap' and 'rightleft' are set)
1221|-H| -H Hebrew mode ('hkmap' and 'rightleft' are set)
1222|-V| -V Verbose, give informative messages
1223|-C| -C Compatible, set the 'compatible' option
1224|-N| -N Nocompatible, reset the 'compatible' option
1225|-r| -r give list of swap files
1226|-r| -r {file} .. recover aborted edit session
1227|-n| -n do not create a swap file
1228|-o| -o [num] open [num] windows (default: one for each file)
1229|-f| -f GUI: foreground process, don't fork
Bram Moolenaar9028b102010-07-11 16:58:51 +02001230 Amiga: do not restart Vim to open a window (for
Bram Moolenaar2df6dcc2004-07-12 15:53:54 +00001231 e.g., mail)
1232|-s| -s {scriptin} first read commands from the file {scriptin}
1233|-w| -w {scriptout} write typed chars to file {scriptout} (append)
1234|-W| -W {scriptout} write typed chars to file {scriptout} (overwrite)
1235|-T| -T {terminal} set terminal name
1236|-d| -d {device} Amiga: open {device} to be used as a console
1237|-u| -u {vimrc} read inits from {vimrc} instead of other inits
1238|-U| -U {gvimrc} idem, for when starting the GUI
1239|-i| -i {viminfo} read info from {viminfo} instead of other files
1240|---| -- end of options, other arguments are file names
1241|--help| --help show list of arguments and exit
1242|--version| --version show version info and exit
Bram Moolenaard04b7502010-07-08 22:27:55 +02001243|--| - read file from stdin
Bram Moolenaar2df6dcc2004-07-12 15:53:54 +00001244------------------------------------------------------------------------------
Bram Moolenaar071d4272004-06-13 20:20:40 +00001245*Q_ed* Editing a file
1246
Bram Moolenaar9028b102010-07-11 16:58:51 +02001247 Without !: Fail if changes have been made to the current buffer.
Bram Moolenaar071d4272004-06-13 20:20:40 +00001248 With !: Discard any changes to the current buffer.
Bram Moolenaard04b7502010-07-08 22:27:55 +02001249|:edit_f| :e[dit][!] {file} edit {file}
Bram Moolenaar00154502013-02-13 16:15:55 +01001250|:edit| :e[dit][!] reload the current file
1251|:enew| :ene[w][!] edit a new, unnamed buffer
Bram Moolenaard04b7502010-07-08 22:27:55 +02001252|:find| :fin[d][!] {file} find {file} in 'path' and edit it
Bram Moolenaar071d4272004-06-13 20:20:40 +00001253
Bram Moolenaar00154502013-02-13 16:15:55 +01001254|CTRL-^| N CTRL-^ edit alternate file N (equivalent to ":e #N")
1255|gf| gf or ]f edit the file whose name is under the cursor
1256|:pwd| :pwd print the current directory name
1257|:cd| :cd [path] change the current directory to [path]
1258|:cd-| :cd - back to previous current directory
1259|:file| :f[ile] print the current file name and the cursor
Bram Moolenaard04b7502010-07-08 22:27:55 +02001260 position
Bram Moolenaar00154502013-02-13 16:15:55 +01001261|:file| :f[ile] {name} set the current file name to {name}
Bram Moolenaard04b7502010-07-08 22:27:55 +02001262|:files| :files show alternate file names
Bram Moolenaar071d4272004-06-13 20:20:40 +00001263------------------------------------------------------------------------------
1264*Q_fl* Using the argument list |argument-list|
1265
Bram Moolenaard04b7502010-07-08 22:27:55 +02001266|:args| :ar[gs] print the argument list, with the current file
1267 in "[]"
1268|:all| :all or :sall open a window for every file in the arg list
1269|:wn| :wn[ext][!] write file and edit next file
1270|:wn| :wn[ext][!] {file} write to {file} and edit next file, unless
1271 {file} exists; With !, overwrite existing
1272 file
1273|:wN| :wN[ext][!] [file] write file and edit previous file
Bram Moolenaar071d4272004-06-13 20:20:40 +00001274
1275 in current window in new window ~
Bram Moolenaar9028b102010-07-11 16:58:51 +02001276|:argument| :argu[ment] N :sar[gument] N edit file N
Bram Moolenaar00154502013-02-13 16:15:55 +01001277|:next| :n[ext] :sn[ext] edit next file
Bram Moolenaar071d4272004-06-13 20:20:40 +00001278|:next_f| :n[ext] {arglist} :sn[ext] {arglist} define new arg list
1279 and edit first file
Bram Moolenaar00154502013-02-13 16:15:55 +01001280|:Next| :N[ext] :sN[ext] edit previous file
Bram Moolenaar9028b102010-07-11 16:58:51 +02001281|:first| :fir[st] :sfir[st] edit first file
Bram Moolenaar00154502013-02-13 16:15:55 +01001282|:last| :la[st] :sla[st] edit last file
Bram Moolenaar071d4272004-06-13 20:20:40 +00001283------------------------------------------------------------------------------
1284*Q_wq* Writing and quitting
1285
Bram Moolenaard04b7502010-07-08 22:27:55 +02001286|:w| :[range]w[rite][!] write to the current file
1287|:w_f| :[range]w[rite] {file} write to {file}, unless it already
1288 exists
1289|:w_f| :[range]w[rite]! {file} write to {file}. Overwrite an existing
1290 file
1291|:w_a| :[range]w[rite][!] >> append to the current file
1292|:w_a| :[range]w[rite][!] >> {file} append to {file}
1293|:w_c| :[range]w[rite] !{cmd} execute {cmd} with [range] lines as
1294 standard input
Bram Moolenaar071d4272004-06-13 20:20:40 +00001295|:up| :[range]up[date][!] write to current file if modified
1296|:wall| :wa[ll][!] write all changed buffers
1297
Bram Moolenaard04b7502010-07-08 22:27:55 +02001298|:q| :q[uit] quit current buffer, unless changes have been
1299 made; Exit Vim when there are no other
Bram Moolenaar071d4272004-06-13 20:20:40 +00001300 non-help buffers
Bram Moolenaard04b7502010-07-08 22:27:55 +02001301|:q| :q[uit]! quit current buffer always, discard any
Bram Moolenaar071d4272004-06-13 20:20:40 +00001302 changes. Exit Vim when there are no other
1303 non-help buffers
Bram Moolenaard04b7502010-07-08 22:27:55 +02001304|:qa| :qa[ll] exit Vim, unless changes have been made
1305|:qa| :qa[ll]! exit Vim always, discard any changes
1306|:cq| :cq quit without writing and return error code
Bram Moolenaar071d4272004-06-13 20:20:40 +00001307
Bram Moolenaard04b7502010-07-08 22:27:55 +02001308|:wq| :wq[!] write the current file and exit
1309|:wq| :wq[!] {file} write to {file} and exit
1310|:xit| :x[it][!] [file] like ":wq" but write only when changes have
Bram Moolenaar071d4272004-06-13 20:20:40 +00001311 been made
Bram Moolenaard04b7502010-07-08 22:27:55 +02001312|ZZ| ZZ same as ":x"
1313|ZQ| ZQ same as ":q!"
Bram Moolenaar071d4272004-06-13 20:20:40 +00001314|:xall| :xa[ll][!] or :wqall[!]
Bram Moolenaard04b7502010-07-08 22:27:55 +02001315 write all changed buffers and exit
Bram Moolenaar071d4272004-06-13 20:20:40 +00001316
Bram Moolenaar9028b102010-07-11 16:58:51 +02001317|:stop| :st[op][!] suspend Vim or start new shell; if 'aw' option
Bram Moolenaard04b7502010-07-08 22:27:55 +02001318 is set and [!] not given write the buffer
1319|CTRL-Z| CTRL-Z same as ":stop"
Bram Moolenaar071d4272004-06-13 20:20:40 +00001320------------------------------------------------------------------------------
Bram Moolenaar071d4272004-06-13 20:20:40 +00001321*Q_ac* Automatic Commands
1322
Bram Moolenaar9028b102010-07-11 16:58:51 +02001323|viminfo-file| read registers, marks, history at startup, save when exiting.
Bram Moolenaar071d4272004-06-13 20:20:40 +00001324
Bram Moolenaar9028b102010-07-11 16:58:51 +02001325|:rviminfo| :rv[iminfo] [file] read info from viminfo file [file]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001326|:rviminfo| :rv[iminfo]! [file] idem, overwrite existing info
Bram Moolenaar9028b102010-07-11 16:58:51 +02001327|:wviminfo| :wv[iminfo] [file] add info to viminfo file [file]
1328|:wviminfo| :wv[iminfo]! [file] write info to viminfo file [file]
Bram Moolenaar071d4272004-06-13 20:20:40 +00001329
1330|modeline| Automatic option setting when editing a file
1331
1332|modeline| vim:{set-arg}: .. In the first and last lines of the
1333 file (see 'ml' option), {set-arg} is
1334 given as an argument to ":set"
1335
1336|autocommand| Automatic execution of commands on certain events.
1337
Bram Moolenaar9028b102010-07-11 16:58:51 +02001338|:autocmd| :au list all autocommands
1339|:autocmd| :au {event} list all autocommands for {event}
1340|:autocmd| :au {event} {pat} list all autocommands for {event}
1341 with {pat}
1342|:autocmd| :au {event} {pat} {cmd} enter new autocommands for {event}
1343 with {pat}
1344|:autocmd| :au! remove all autocommands
1345|:autocmd| :au! {event} remove all autocommands for {event}
1346|:autocmd| :au! * {pat} remove all autocommands for {pat}
1347|:autocmd| :au! {event} {pat} remove all autocommands for {event}
1348 with {pat}
1349|:autocmd| :au! {event} {pat} {cmd} remove all autocommands for {event}
1350 with {pat} and enter new one
Bram Moolenaar071d4272004-06-13 20:20:40 +00001351------------------------------------------------------------------------------
1352*Q_wi* Multi-window commands
1353
Bram Moolenaard04b7502010-07-08 22:27:55 +02001354|CTRL-W_s| CTRL-W s or :split split window into two parts
1355|:split_f| :split {file} split window and edit {file} in one of
Bram Moolenaar071d4272004-06-13 20:20:40 +00001356 them
Bram Moolenaard04b7502010-07-08 22:27:55 +02001357|:vsplit| :vsplit {file} same, but split vertically
1358|:vertical| :vertical {cmd} make {cmd} split vertically
Bram Moolenaar071d4272004-06-13 20:20:40 +00001359
Bram Moolenaard04b7502010-07-08 22:27:55 +02001360|:sfind| :sf[ind] {file} split window, find {file} in 'path'
1361 and edit it
Bram Moolenaar74675a62017-07-15 13:53:23 +02001362|:terminal| :terminal {cmd} open a terminal window
Bram Moolenaard04b7502010-07-08 22:27:55 +02001363|CTRL-W_]| CTRL-W ] split window and jump to tag under
Bram Moolenaar071d4272004-06-13 20:20:40 +00001364 cursor
Bram Moolenaard04b7502010-07-08 22:27:55 +02001365|CTRL-W_f| CTRL-W f split window and edit file name under
Bram Moolenaar071d4272004-06-13 20:20:40 +00001366 the cursor
Bram Moolenaard04b7502010-07-08 22:27:55 +02001367|CTRL-W_^| CTRL-W ^ split window and edit alternate file
1368|CTRL-W_n| CTRL-W n or :new create new empty window
1369|CTRL-W_q| CTRL-W q or :q[uit] quit editing and close window
Bram Moolenaard899e512022-05-07 21:54:03 +01001370|CTRL-W_c| CTRL-W c or :clo[se] make buffer hidden and close window
Bram Moolenaard04b7502010-07-08 22:27:55 +02001371|CTRL-W_o| CTRL-W o or :on[ly] make current window only one on the
Bram Moolenaar071d4272004-06-13 20:20:40 +00001372 screen
1373
Bram Moolenaard04b7502010-07-08 22:27:55 +02001374|CTRL-W_j| CTRL-W j move cursor to window below
1375|CTRL-W_k| CTRL-W k move cursor to window above
1376|CTRL-W_CTRL-W| CTRL-W CTRL-W move cursor to window below (wrap)
1377|CTRL-W_W| CTRL-W W move cursor to window above (wrap)
1378|CTRL-W_t| CTRL-W t move cursor to top window
1379|CTRL-W_b| CTRL-W b move cursor to bottom window
1380|CTRL-W_p| CTRL-W p move cursor to previous active window
Bram Moolenaar071d4272004-06-13 20:20:40 +00001381
Bram Moolenaard04b7502010-07-08 22:27:55 +02001382|CTRL-W_r| CTRL-W r rotate windows downwards
1383|CTRL-W_R| CTRL-W R rotate windows upwards
1384|CTRL-W_x| CTRL-W x exchange current window with next one
Bram Moolenaar071d4272004-06-13 20:20:40 +00001385
Bram Moolenaar32efaf62014-11-05 17:02:17 +01001386|CTRL-W_=| CTRL-W = make all windows equal height & width
Bram Moolenaard04b7502010-07-08 22:27:55 +02001387|CTRL-W_-| CTRL-W - decrease current window height
1388|CTRL-W_+| CTRL-W + increase current window height
1389|CTRL-W__| CTRL-W _ set current window height (default:
Bram Moolenaar071d4272004-06-13 20:20:40 +00001390 very high)
Bram Moolenaar32efaf62014-11-05 17:02:17 +01001391
1392|CTRL-W_<| CTRL-W < decrease current window width
1393|CTRL-W_>| CTRL-W > increase current window width
1394|CTRL-W_bar| CTRL-W | set current window width (default:
1395 widest possible)
Bram Moolenaar071d4272004-06-13 20:20:40 +00001396------------------------------------------------------------------------------
1397*Q_bu* Buffer list commands
1398
1399|:buffers| :buffers or :files list all known buffer and file names
1400
1401|:ball| :ball or :sball edit all args/buffers
1402|:unhide| :unhide or :sunhide edit all loaded buffers
1403
1404|:badd| :badd {fname} add file name {fname} to the list
1405|:bunload| :bunload[!] [N] unload buffer [N] from memory
1406|:bdelete| :bdelete[!] [N] unload buffer [N] and delete it from
1407 the buffer list
1408
Bram Moolenaardc8b25c2013-07-06 13:58:22 +02001409 in current window in new window ~
1410|:buffer| :[N]buffer [N] :[N]sbuffer [N] to arg/buf N
1411|:bnext| :[N]bnext [N] :[N]sbnext [N] to Nth next arg/buf
1412|:bNext| :[N]bNext [N] :[N]sbNext [N] to Nth previous arg/buf
1413|:bprevious| :[N]bprevious [N] :[N]sbprevious [N] to Nth previous arg/buf
1414|:bfirst| :bfirst :sbfirst to first arg/buf
1415|:blast| :blast :sblast to last arg/buf
1416|:bmodified| :[N]bmod [N] :[N]sbmod [N] to Nth modified buf
Bram Moolenaar071d4272004-06-13 20:20:40 +00001417------------------------------------------------------------------------------
1418*Q_sy* Syntax Highlighting
1419
1420|:syn-on| :syntax on start using syntax highlighting
1421|:syn-off| :syntax off stop using syntax highlighting
1422
1423|:syn-keyword| :syntax keyword {group-name} {keyword} ..
1424 add a syntax keyword item
1425|:syn-match| :syntax match {group-name} {pattern} ...
1426 add syntax match item
1427|:syn-region| :syntax region {group-name} {pattern} ...
1428 add syntax region item
1429|:syn-sync| :syntax sync [ccomment | lines {N} | ...]
1430 tell syntax how to sync
1431|:syntax| :syntax [list] list current syntax items
1432|:syn-clear| :syntax clear clear all syntax info
1433
1434|:highlight| :highlight clear clear all highlight info
1435|:highlight| :highlight {group-name} {key}={arg} ..
1436 set highlighting for {group-name}
1437
1438|:filetype| :filetype on switch on file type detection, without
1439 syntax highlighting
1440|:filetype| :filetype plugin indent on
1441 switch on file type detection, with
1442 automatic indenting and settings
1443------------------------------------------------------------------------------
1444*Q_gu* GUI commands
1445
1446|:gui| :gui UNIX: start the GUI
1447|:gui| :gui {fname} .. idem, and edit {fname} ..
1448
1449|:menu| :menu list all menus
1450|:menu| :menu {mpath} list menus starting with {mpath}
Bram Moolenaard04b7502010-07-08 22:27:55 +02001451|:menu| :menu {mpath} {rhs} add menu {mpath}, giving {rhs}
Bram Moolenaar071d4272004-06-13 20:20:40 +00001452|:menu| :menu {pri} {mpath} {rhs}
1453 idem, with priorities {pri}
1454|:menu| :menu ToolBar.{name} {rhs}
Bram Moolenaard04b7502010-07-08 22:27:55 +02001455 add toolbar item, giving {rhs}
Bram Moolenaar071d4272004-06-13 20:20:40 +00001456|:tmenu| :tmenu {mpath} {text} add tooltip to menu {mpath}
1457|:unmenu| :unmenu {mpath} remove menu {mpath}
1458------------------------------------------------------------------------------
1459*Q_fo* Folding
1460
1461|'foldmethod'| set foldmethod=manual manual folding
1462 set foldmethod=indent folding by indent
1463 set foldmethod=expr folding by 'foldexpr'
1464 set foldmethod=syntax folding by syntax regions
Bram Moolenaar24ea3ba2010-09-19 19:01:21 +02001465 set foldmethod=marker folding by 'foldmarker'
Bram Moolenaar071d4272004-06-13 20:20:40 +00001466
1467|zf| zf{motion} operator: Define a fold manually
1468|:fold| :{range}fold define a fold for {range} lines
1469|zd| zd delete one fold under the cursor
1470|zD| zD delete all folds under the cursor
1471
1472|zo| zo open one fold under the cursor
1473|zO| zO open all folds under the cursor
1474|zc| zc close one fold under the cursor
1475|zC| zC close all folds under the cursor
1476
1477|zm| zm fold more: decrease 'foldlevel'
1478|zM| zM close all folds: make 'foldlevel' zero
1479|zr| zr reduce folding: increase 'foldlevel'
1480|zR| zR open all folds: make 'foldlevel' max.
1481
1482|zn| zn fold none: reset 'foldenable'
1483|zN| zN fold normal set 'foldenable'
1484|zi| zi invert 'foldenable'
1485
Bram Moolenaar91f84f62018-07-29 15:07:52 +02001486 vim:tw=78:ts=8:noet:ft=help:norl: