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