1*quickref.txt* For Vim version 8.2. Last change: 2021 Mar 29 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|gM| gM to middle of the line 51|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 72|N%| N % goto line N percentage down in the file; N must be 73 given, otherwise it is the |%| command 74|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 174|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 179|`quote| `" go to the position when last editing this file 180|`[| `[ 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[]'"<>.} 186 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 190|:ju| :ju[mps] print the jump list 191------------------------------------------------------------------------------ 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 208|:ta| :ta[g][!] {tag} jump to tag {tag} 209|:ta| :[count]ta[g][!] jump to [count]'th newer tag in tag list 210|CTRL-]| CTRL-] jump to the tag under cursor, unless changes 211 have been made 212|:ts| :ts[elect][!] [tag] list matching tags and select one to jump to 213|:tjump| :tj[ump][!] [tag] jump to tag [tag] or select from list when 214 there are multiple matches 215|:ltag| :lt[ag][!] [tag] jump to tag [tag] and add matching tags to the 216 location list 217 218|:tags| :tags print tag list 219|CTRL-T| N CTRL-T jump back from Nth older tag in tag list 220|:po| :[count]po[p][!] jump back from [count]'th older tag in tag list 221|:tnext| :[count]tn[ext][!] jump to [count]'th next matching tag 222|:tp| :[count]tp[revious][!] jump to [count]'th previous matching tag 223|:tr| :[count]tr[ewind][!] jump to [count]'th matching tag 224|:tl| :tl[ast][!] jump to last matching tag 225 226|: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 228|: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 231|CTRL-W_z| CTRL-W z close tag preview window 232------------------------------------------------------------------------------ 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 261|:startreplace| :startr[eplace][!] start Replace mode, at EOL when [!] used 262 263in Visual block mode: 264|v_b_I| I insert the same text in front of all the selected lines 265|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 295|i_CTRL-R| CTRL-R {register} insert the contents of a register 296 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 338|<Del>| N <Del> delete N characters under and after the cursor 339|X| N X delete N characters before the cursor 340|d| N d{motion} delete the text that is moved over with {motion} 341|v_d| {visual}d delete the highlighted text 342|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) 345|v_J| {visual}J join the highlighted lines 346|gJ| N gJ like "J", but without inserting spaces 347|v_gJ| {visual}gJ like "{visual}J", but without inserting spaces 348|: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 373|v_b_r| {visual}r{char} 374 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 451|v| v start highlighting characters } move cursor and use 452|V| V start highlighting linewise } operator to affect 453|CTRL-V| CTRL-V start highlighting blockwise } highlighted text 454|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 458|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 462|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 485------------------------------------------------------------------------------ 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] 498 execute Ex command [cmd] (default: ":p") on the lines 499 within [range] where {pattern} matches 500|:g| :[range]g[lobal]!/{pattern}/[cmd] 501 execute Ex command [cmd] (default: ":p") on the lines 502 within [range] where {pattern} does NOT match 503|:so| :so[urce] {file} 504 read Ex commands from {file} 505|:so| :so[urce]! {file} 506 read Vim commands from {file} 507|:sl| :sl[eep] [sec] 508 don't do anything for [sec] seconds 509|gs| N gs goto Sleep for N seconds 510------------------------------------------------------------------------------ 511*Q_km* Key mapping 512 513|: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 515 mode 516|:noremap| :no[remap][!] {lhs} {rhs} 517 same as ":map", no remapping for this {rhs} 518|:unmap| :unm[ap] {lhs} remove the mapping of {lhs} for Normal and 519 Visual mode 520|:unmap!| :unm[ap]! {lhs} remove the mapping of {lhs} for Insert and 521 Command-line mode 522|:map_l| :ma[p] [lhs] list mappings (starting with [lhs]) for 523 Normal and Visual mode 524|:map_l!| :ma[p]! [lhs] list mappings (starting with [lhs]) for 525 Insert and Command-line mode 526|:cmap| :cmap/:cunmap/:cnoremap 527 like ":map!"/":unmap!"/":noremap!" but for 528 Command-line mode only 529|:imap| :imap/:iunmap/:inoremap 530 like ":map!"/":unmap!"/":noremap!" but for 531 Insert mode only 532|:nmap| :nmap/:nunmap/:nnoremap 533 like ":map"/":unmap"/":noremap" but for 534 Normal mode only 535|:vmap| :vmap/:vunmap/:vnoremap 536 like ":map"/":unmap"/":noremap" but for 537 Visual mode only 538|:omap| :omap/:ounmap/:onoremap 539 like ":map"/":unmap"/":noremap" but only for 540 when an operator is pending 541|:mapc| :mapc[lear] remove mappings for Normal and Visual mode 542|:mapc| :mapc[lear]! remove mappings for Insert and Cmdline mode 543|:imapc| :imapc[lear] remove mappings for Insert mode 544|:vmapc| :vmapc[lear] remove mappings for Visual mode 545|:omapc| :omapc[lear] remove mappings for Operator-pending mode 546|:nmapc| :nmapc[lear] remove mappings for Normal mode 547|:cmapc| :cmapc[lear] remove mappings for Cmdline mode 548|:mkexrc| :mk[exrc][!] [file] write current mappings, abbreviations, and 549 settings to [file] (default: ".exrc"; 550 use ! to overwrite) 551|:mkvimrc| :mkv[imrc][!] [file] 552 same as ":mkexrc", but with default ".vimrc" 553|:mksession| :mks[ession][!] [file] 554 like ":mkvimrc", but store current files, 555 windows, etc. too, to be able to continue 556 this session later 557------------------------------------------------------------------------------ 558*Q_ab* Abbreviations 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 574|:set| :se[t] show all modified options 575|:set| :se[t] all show all non-termcap options 576|:set| :se[t] termcap show all termcap options 577|:set| :se[t] {option} set boolean option (switch it on), 578 show string or number option 579|:set| :se[t] no{option} reset boolean option (switch it off) 580|:set| :se[t] inv{option} invert boolean option 581|:set| :se[t] {option}={value} set string/number option to {value} 582|:set| :se[t] {option}+={value} append {value} to string option, add 583 {value} to number option 584|:set| :se[t] {option}-={value} remove {value} to string option, 585 subtract {value} from number option 586|:set| :se[t] {option}? show value of {option} 587|:set| :se[t] {option}& reset {option} to its default value 588 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 594|:fix| :fix[del] set value of 't_kD' according to 595 value of 't_kb' 596|:options| :opt[ions] open a new window to view and set 597 options, grouped by functionality, 598 a one line explanation and links to 599 the help 600 601Short explanation of each option: *option-list* 602'aleph' 'al' ASCII code of the letter Aleph (Hebrew) 603'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode 604'altkeymap' 'akm' obsolete option for Farsi 605'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width 606'antialias' 'anti' Mac OS X: use smooth, antialiased fonts 607'autochdir' 'acd' change directory to the file in the current window 608'autoshelldir' 'asd' change directory to the shell's current directory 609'arabic' 'arab' for Arabic as a default second language 610'arabicshape' 'arshape' do shaping for Arabic characters 611'autoindent' 'ai' take indent for new line from previous line 612'autoread' 'ar' autom. read file when changed outside of Vim 613'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 623'ballooneval' 'beval' switch on balloon evaluation in the GUI 624'balloonevalterm' 'bevalterm' switch on balloon evaluation in the terminal 625'balloonexpr' 'bexpr' expression to show in balloon 626'belloff' 'bo' do not ring the bell for these reasons 627'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 631'breakindent' 'bri' wrapped line repeats indent 632'breakindentopt' 'briopt' settings for 'breakindent' 633'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 638'cdpath' 'cd' list of directories searched with ":cd" 639'cedit' key used to open the command-line window 640'charconvert' 'ccv' expression for character encoding conversion 641'cindent' 'cin' do C program indenting 642'cinkeys' 'cink' keys that trigger indent when 'cindent' is set 643'cinoptions' 'cino' how to do indenting when 'cindent' is set 644'cinwords' 'cinw' words where 'si' and 'cin' add an indent 645'clipboard' 'cb' use the clipboard as the unnamed register 646'cmdheight' 'ch' number of lines to use for the command-line 647'cmdwinheight' 'cwh' height of the command-line window 648'colorcolumn' 'cc' columns to highlight 649'columns' 'co' number of columns in the display 650'comments' 'com' patterns that can start a comment line 651'commentstring' 'cms' template for comments; used for fold marker 652'compatible' 'cp' behave Vi-compatible as much as possible 653'complete' 'cpt' specify how Insert mode completion works 654'completefunc' 'cfu' function to be used for Insert mode completion 655'completeopt' 'cot' options for Insert mode completion 656'completepopup' 'cpp' options for the Insert mode completion info popup 657'completeslash' 'csl' like 'shellslash' for completion 658'concealcursor' 'cocu' whether concealable text is hidden in cursor line 659'conceallevel' 'cole' whether concealable text is shown or hidden 660'confirm' 'cf' ask what to do about unsaved/read-only files 661'conskey' 'consk' get keys directly from console (MS-DOS only) 662'copyindent' 'ci' make 'autoindent' use existing indent structure 663'cpoptions' 'cpo' flags for Vi-compatible behavior 664'cryptmethod' 'cm' type of encryption to use for file writing 665'cscopepathcomp' 'cspc' how many components of the path to show 666'cscopeprg' 'csprg' command to execute cscope 667'cscopequickfix' 'csqf' use quickfix window for cscope results 668'cscoperelative' 'csre' Use cscope.out path basename as prefix 669'cscopetag' 'cst' use cscope for tag commands 670'cscopetagorder' 'csto' determines ":cstag" search order 671'cscopeverbose' 'csverb' give messages when adding a cscope database 672'cursorbind' 'crb' move cursor in window as it moves in other windows 673'cursorcolumn' 'cuc' highlight the screen column of the cursor 674'cursorline' 'cul' highlight the screen line of the cursor 675'cursorlineopt' 'culopt' settings for 'cursorline' 676'debug' set to "msg" to see all error messages 677'define' 'def' pattern to be used to find a macro definition 678'delcombine' 'deco' delete combining characters on their own 679'dictionary' 'dict' list of file names used for keyword completion 680'diff' use diff mode for the current window 681'diffexpr' 'dex' expression used to obtain a diff file 682'diffopt' 'dip' options for using diff mode 683'digraph' 'dg' enable the entering of digraphs in Insert mode 684'directory' 'dir' list of directory names for the swap file 685'display' 'dy' list of flags for how to display text 686'eadirection' 'ead' in which direction 'equalalways' works 687'edcompatible' 'ed' toggle flags of ":substitute" command 688'emoji' 'emo' emoji characters are considered full width 689'encoding' 'enc' encoding used internally 690'endofline' 'eol' write <EOL> for last line in file 691'equalalways' 'ea' windows are automatically made the same size 692'equalprg' 'ep' external program to use for "=" command 693'errorbells' 'eb' ring the bell for error messages 694'errorfile' 'ef' name of the errorfile for the QuickFix mode 695'errorformat' 'efm' description of the lines in the error file 696'esckeys' 'ek' recognize function keys in Insert mode 697'eventignore' 'ei' autocommand events that are ignored 698'expandtab' 'et' use spaces when <Tab> is inserted 699'exrc' 'ex' read .vimrc and .exrc in the current directory 700'fileencoding' 'fenc' file encoding for multibyte text 701'fileencodings' 'fencs' automatically detected character encodings 702'fileformat' 'ff' file format used for file I/O 703'fileformats' 'ffs' automatically detected values for 'fileformat' 704'fileignorecase' 'fic' ignore case when using file names 705'filetype' 'ft' type of file, used for autocommands 706'fillchars' 'fcs' characters to use for displaying special items 707'fixendofline' 'fixeol' make sure last line in file has <EOL> 708'fkmap' 'fk' obsolete option for Farsi 709'foldclose' 'fcl' close a fold when the cursor leaves it 710'foldcolumn' 'fdc' width of the column used to indicate folds 711'foldenable' 'fen' set to display all folds open 712'foldexpr' 'fde' expression used when 'foldmethod' is "expr" 713'foldignore' 'fdi' ignore lines when 'foldmethod' is "indent" 714'foldlevel' 'fdl' close folds with a level higher than this 715'foldlevelstart' 'fdls' 'foldlevel' when starting to edit a file 716'foldmarker' 'fmr' markers used when 'foldmethod' is "marker" 717'foldmethod' 'fdm' folding type 718'foldminlines' 'fml' minimum number of lines for a fold to be closed 719'foldnestmax' 'fdn' maximum fold depth 720'foldopen' 'fdo' for which commands a fold will be opened 721'foldtext' 'fdt' expression used to display for a closed fold 722'formatexpr' 'fex' expression used with "gq" command 723'formatlistpat' 'flp' pattern used to recognize a list header 724'formatoptions' 'fo' how automatic formatting is to be done 725'formatprg' 'fp' name of external program used with "gq" command 726'fsync' 'fs' whether to invoke fsync() after file write 727'gdefault' 'gd' the ":substitute" flag 'g' is default on 728'grepformat' 'gfm' format of 'grepprg' output 729'grepprg' 'gp' program to use for ":grep" 730'guicursor' 'gcr' GUI: settings for cursor shape and blinking 731'guifont' 'gfn' GUI: Name(s) of font(s) to be used 732'guifontset' 'gfs' GUI: Names of multibyte fonts to be used 733'guifontwide' 'gfw' list of font names for double-wide characters 734'guiheadroom' 'ghr' GUI: pixels room for window decorations 735'guioptions' 'go' GUI: Which components and options are used 736'guipty' GUI: try to use a pseudo-tty for ":!" commands 737'guitablabel' 'gtl' GUI: custom label for a tab page 738'guitabtooltip' 'gtt' GUI: custom tooltip for a tab page 739'helpfile' 'hf' full path name of the main help file 740'helpheight' 'hh' minimum height of a new help window 741'helplang' 'hlg' preferred help languages 742'hidden' 'hid' don't unload buffer when it is |abandon|ed 743'highlight' 'hl' sets highlighting mode for various occasions 744'history' 'hi' number of command-lines that are remembered 745'hkmap' 'hk' Hebrew keyboard mapping 746'hkmapp' 'hkp' phonetic Hebrew keyboard mapping 747'hlsearch' 'hls' highlight matches with last search pattern 748'icon' let Vim set the text of the window icon 749'iconstring' string to use for the Vim icon text 750'ignorecase' 'ic' ignore case in search patterns 751'imactivatefunc' 'imaf' function to enable/disable the X input method 752'imactivatekey' 'imak' key that activates the X input method 753'imcmdline' 'imc' use IM when starting to edit a command line 754'imdisable' 'imd' do not use the IM in any mode 755'iminsert' 'imi' use :lmap or IM in Insert mode 756'imsearch' 'ims' use :lmap or IM when typing a search pattern 757'imstatusfunc' 'imsf' function to obtain X input method status 758'imstyle' 'imst' specifies the input style of the input method 759'include' 'inc' pattern to be used to find an include file 760'includeexpr' 'inex' expression used to process an include line 761'incsearch' 'is' highlight match while typing search pattern 762'indentexpr' 'inde' expression used to obtain the indent of a line 763'indentkeys' 'indk' keys that trigger indenting with 'indentexpr' 764'infercase' 'inf' adjust case of match for keyword completion 765'insertmode' 'im' start the edit of a file in Insert mode 766'isfname' 'isf' characters included in file names and pathnames 767'isident' 'isi' characters included in identifiers 768'iskeyword' 'isk' characters included in keywords 769'isprint' 'isp' printable characters 770'joinspaces' 'js' two spaces after a period with a join command 771'key' encryption key 772'keymap' 'kmp' name of a keyboard mapping 773'keymodel' 'km' enable starting/stopping selection with keys 774'keywordprg' 'kp' program to use for the "K" command 775'langmap' 'lmap' alphabetic characters for other language mode 776'langmenu' 'lm' language to be used for the menus 777'langnoremap' 'lnr' do not apply 'langmap' to mapped characters 778'langremap' 'lrm' do apply 'langmap' to mapped characters 779'laststatus' 'ls' tells when last window has status lines 780'lazyredraw' 'lz' don't redraw while executing macros 781'linebreak' 'lbr' wrap long lines at a blank 782'lines' number of lines in the display 783'linespace' 'lsp' number of pixel lines to use between characters 784'lisp' automatic indenting for Lisp 785'lispwords' 'lw' words that change how lisp indenting works 786'list' show <Tab> and <EOL> 787'listchars' 'lcs' characters for displaying in list mode 788'loadplugins' 'lpl' load plugin scripts when starting up 789'luadll' name of the Lua dynamic library 790'macatsui' Mac GUI: use ATSUI text drawing 791'magic' changes special characters in search patterns 792'makeef' 'mef' name of the errorfile for ":make" 793'makeencoding' 'menc' encoding of external make/grep commands 794'makeprg' 'mp' program to use for the ":make" command 795'matchpairs' 'mps' pairs of characters that "%" can match 796'matchtime' 'mat' tenths of a second to show matching paren 797'maxcombine' 'mco' maximum nr of combining characters displayed 798'maxfuncdepth' 'mfd' maximum recursive depth for user functions 799'maxmapdepth' 'mmd' maximum recursive depth for mapping 800'maxmem' 'mm' maximum memory (in Kbyte) used for one buffer 801'maxmempattern' 'mmp' maximum memory (in Kbyte) used for pattern search 802'maxmemtot' 'mmt' maximum memory (in Kbyte) used for all buffers 803'menuitems' 'mis' maximum number of items in a menu 804'mkspellmem' 'msm' memory used before |:mkspell| compresses the tree 805'modeline' 'ml' recognize modelines at start or end of file 806'modelineexpr' 'mle' allow setting expression options from a modeline 807'modelines' 'mls' number of lines checked for modelines 808'modifiable' 'ma' changes to the text are not possible 809'modified' 'mod' buffer has been modified 810'more' pause listings when the whole screen is filled 811'mouse' enable the use of mouse clicks 812'mousefocus' 'mousef' keyboard focus follows the mouse 813'mousehide' 'mh' hide mouse pointer while typing 814'mousemodel' 'mousem' changes meaning of mouse buttons 815'mouseshape' 'mouses' shape of the mouse pointer in different modes 816'mousetime' 'mouset' max time between mouse double-click 817'mzquantum' 'mzq' the interval between polls for MzScheme threads 818'mzschemedll' name of the MzScheme dynamic library 819'mzschemegcdll' name of the MzScheme dynamic library for GC 820'nrformats' 'nf' number formats recognized for CTRL-A command 821'number' 'nu' print the line number in front of each line 822'numberwidth' 'nuw' number of columns used for the line number 823'omnifunc' 'ofu' function for filetype-specific completion 824'opendevice' 'odev' allow reading/writing devices on MS-Windows 825'operatorfunc' 'opfunc' function to be called for |g@| operator 826'osfiletype' 'oft' no longer supported 827'packpath' 'pp' list of directories used for packages 828'paragraphs' 'para' nroff macros that separate paragraphs 829'paste' allow pasting text 830'pastetoggle' 'pt' key code that causes 'paste' to toggle 831'patchexpr' 'pex' expression used to patch a file 832'patchmode' 'pm' keep the oldest version of a file 833'path' 'pa' list of directories searched with "gf" et.al. 834'perldll' name of the Perl dynamic library 835'preserveindent' 'pi' preserve the indent structure when reindenting 836'previewheight' 'pvh' height of the preview window 837'previewpopup' 'pvp' use popup window for preview 838'previewwindow' 'pvw' identifies the preview window 839'printdevice' 'pdev' name of the printer to be used for :hardcopy 840'printencoding' 'penc' encoding to be used for printing 841'printexpr' 'pexpr' expression used to print PostScript for :hardcopy 842'printfont' 'pfn' name of the font to be used for :hardcopy 843'printheader' 'pheader' format of the header used for :hardcopy 844'printmbcharset' 'pmbcs' CJK character set to be used for :hardcopy 845'printmbfont' 'pmbfn' font names to be used for CJK output of :hardcopy 846'printoptions' 'popt' controls the format of :hardcopy output 847'prompt' 'prompt' enable prompt in Ex mode 848'pumheight' 'ph' maximum height of the popup menu 849'pumwidth' 'pw' minimum width of the popup menu 850'pythondll' name of the Python 2 dynamic library 851'pythonhome' name of the Python 2 home directory 852'pythonthreedll' name of the Python 3 dynamic library 853'pythonthreehome' name of the Python 3 home directory 854'pyxversion' 'pyx' Python version used for pyx* commands 855'quickfixtextfunc' 'qftf' function for the text in the quickfix window 856'quoteescape' 'qe' escape characters used in a string 857'readonly' 'ro' disallow writing the buffer 858'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting 859'regexpengine' 're' default regexp engine to use 860'relativenumber' 'rnu' show relative line number in front of each line 861'remap' allow mappings to work recursively 862'renderoptions' 'rop' options for text rendering on Windows 863'report' threshold for reporting nr. of lines changed 864'restorescreen' 'rs' Win32: restore screen when exiting 865'revins' 'ri' inserting characters will work backwards 866'rightleft' 'rl' window is right-to-left oriented 867'rightleftcmd' 'rlc' commands for which editing works right-to-left 868'rubydll' name of the Ruby dynamic library 869'ruler' 'ru' show cursor line and column in the status line 870'rulerformat' 'ruf' custom format for the ruler 871'runtimepath' 'rtp' list of directories used for runtime files 872'scroll' 'scr' lines to scroll with CTRL-U and CTRL-D 873'scrollbind' 'scb' scroll in window as other windows scroll 874'scrollfocus' 'scf' scroll wheel applies to window under pointer 875'scrolljump' 'sj' minimum number of lines to scroll 876'scrolloff' 'so' minimum nr. of lines above and below cursor 877'scrollopt' 'sbo' how 'scrollbind' should behave 878'sections' 'sect' nroff macros that separate sections 879'secure' secure mode for reading .vimrc in current dir 880'selection' 'sel' what type of selection to use 881'selectmode' 'slm' when to use Select mode instead of Visual mode 882'sessionoptions' 'ssop' options for |:mksession| 883'shell' 'sh' name of shell to use for external commands 884'shellcmdflag' 'shcf' flag to shell to execute one command 885'shellpipe' 'sp' string to put output of ":make" in error file 886'shellquote' 'shq' quote character(s) for around shell command 887'shellredir' 'srr' string to put output of filter in a temp file 888'shellslash' 'ssl' use forward slash for shell file names 889'shelltemp' 'stmp' whether to use a temp file for shell commands 890'shelltype' 'st' Amiga: influences how to use a shell 891'shellxescape' 'sxe' characters to escape when 'shellxquote' is ( 892'shellxquote' 'sxq' like 'shellquote', but include redirection 893'shiftround' 'sr' round indent to multiple of shiftwidth 894'shiftwidth' 'sw' number of spaces to use for (auto)indent step 895'shortmess' 'shm' list of flags, reduce length of messages 896'shortname' 'sn' Filenames assumed to be 8.3 chars 897'showbreak' 'sbr' string to use at the start of wrapped lines 898'showcmd' 'sc' show (partial) command in status line 899'showfulltag' 'sft' show full tag pattern when completing tag 900'showmatch' 'sm' briefly jump to matching bracket if insert one 901'showmode' 'smd' message on status line to show current mode 902'showtabline' 'stal' tells when the tab pages line is displayed 903'sidescroll' 'ss' minimum number of columns to scroll horizontal 904'sidescrolloff' 'siso' min. nr. of columns to left and right of cursor 905'signcolumn' 'scl' when to display the sign column 906'smartcase' 'scs' no ignore case when pattern has uppercase 907'smartindent' 'si' smart autoindenting for C programs 908'smarttab' 'sta' use 'shiftwidth' when inserting <Tab> 909'softtabstop' 'sts' number of spaces that <Tab> uses while editing 910'spell' enable spell checking 911'spellcapcheck' 'spc' pattern to locate end of a sentence 912'spellfile' 'spf' files where |zg| and |zw| store words 913'spelllang' 'spl' language(s) to do spell checking for 914'spelloptions' 'spo' options for spell checking 915'spellsuggest' 'sps' method(s) used to suggest spelling corrections 916'splitbelow' 'sb' new window from split is below the current one 917'splitright' 'spr' new window is put right of the current one 918'startofline' 'sol' commands move cursor to first non-blank in line 919'statusline' 'stl' custom format for the status line 920'suffixes' 'su' suffixes that are ignored with multiple match 921'suffixesadd' 'sua' suffixes added when searching for a file 922'swapfile' 'swf' whether to use a swapfile for a buffer 923'swapsync' 'sws' how to sync the swap file 924'switchbuf' 'swb' sets behavior when switching to another buffer 925'synmaxcol' 'smc' maximum column to find syntax items 926'syntax' 'syn' syntax to be loaded for current buffer 927'tabline' 'tal' custom format for the console tab pages line 928'tabpagemax' 'tpm' maximum number of tab pages for |-p| and "tab all" 929'tabstop' 'ts' number of spaces that <Tab> in file uses 930'tagbsearch' 'tbs' use binary searching in tags files 931'tagcase' 'tc' how to handle case when searching in tags files 932'tagfunc' 'tfu' function to get list of tag matches 933'taglength' 'tl' number of significant characters for a tag 934'tagrelative' 'tr' file names in tag file are relative 935'tags' 'tag' list of file names used by the tag command 936'tagstack' 'tgst' push tags onto the tag stack 937'tcldll' name of the Tcl dynamic library 938'term' name of the terminal 939'termbidi' 'tbidi' terminal takes care of bi-directionality 940'termencoding' 'tenc' character encoding used by the terminal 941'termguicolors' 'tgc' use GUI colors for the terminal 942'termwinkey' 'twk' key that precedes a Vim command in a terminal 943'termwinscroll' 'twsl' max number of scrollback lines in a terminal window 944'termwinsize' 'tws' size of a terminal window 945'termwintype' 'twt' MS-Windows: type of pty to use for terminal window 946'terse' shorten some messages 947'textauto' 'ta' obsolete, use 'fileformats' 948'textmode' 'tx' obsolete, use 'fileformat' 949'textwidth' 'tw' maximum width of text that is being inserted 950'thesaurus' 'tsr' list of thesaurus files for keyword completion 951'tildeop' 'top' tilde command "~" behaves like an operator 952'timeout' 'to' time out on mappings and key codes 953'timeoutlen' 'tm' time out time in milliseconds 954'title' let Vim set the title of the window 955'titlelen' percentage of 'columns' used for window title 956'titleold' old title, restored when exiting 957'titlestring' string to use for the Vim window title 958'toolbar' 'tb' GUI: which items to show in the toolbar 959'toolbariconsize' 'tbis' size of the toolbar icons (for GTK 2 only) 960'ttimeout' time out on mappings 961'ttimeoutlen' 'ttm' time out time for key codes in milliseconds 962'ttybuiltin' 'tbi' use built-in termcap before external termcap 963'ttyfast' 'tf' indicates a fast terminal connection 964'ttymouse' 'ttym' type of mouse codes generated 965'ttyscroll' 'tsl' maximum number of lines for a scroll 966'ttytype' 'tty' alias for 'term' 967'undodir' 'udir' where to store undo files 968'undofile' 'udf' save undo information in a file 969'undolevels' 'ul' maximum number of changes that can be undone 970'undoreload' 'ur' max nr of lines to save for undo on a buffer reload 971'updatecount' 'uc' after this many characters flush swap file 972'updatetime' 'ut' after this many milliseconds flush swap file 973'varsofttabstop' 'vsts' a list of number of spaces when typing <Tab> 974'vartabstop' 'vts' a list of number of spaces for <Tab>s 975'verbose' 'vbs' give informative messages 976'verbosefile' 'vfile' file to write messages in 977'viewdir' 'vdir' directory where to store files with :mkview 978'viewoptions' 'vop' specifies what to save for :mkview 979'viminfo' 'vi' use .viminfo file upon startup and exiting 980'viminfofile' 'vif' file name used for the viminfo file 981'virtualedit' 've' when to use virtual editing 982'visualbell' 'vb' use visual bell instead of beeping 983'warn' warn for shell command when buffer was changed 984'weirdinvert' 'wiv' for terminals that have weird inversion method 985'whichwrap' 'ww' allow specified keys to cross line boundaries 986'wildchar' 'wc' command-line character for wildcard expansion 987'wildcharm' 'wcm' like 'wildchar' but also works when mapped 988'wildignore' 'wig' files matching these patterns are not completed 989'wildignorecase' 'wic' ignore case when completing file names 990'wildmenu' 'wmnu' use menu for command line completion 991'wildmode' 'wim' mode for 'wildchar' command-line expansion 992'wildoptions' 'wop' specifies how command line completion is done 993'winaltkeys' 'wak' when the windows system handles ALT keys 994'wincolor' 'wcr' window-local highlighting 995'window' 'wi' nr of lines to scroll for CTRL-F and CTRL-B 996'winheight' 'wh' minimum number of lines for the current window 997'winfixheight' 'wfh' keep window height when opening/closing windows 998'winfixwidth' 'wfw' keep window width when opening/closing windows 999'winminheight' 'wmh' minimum number of lines for any window 1000'winminwidth' 'wmw' minimal number of columns for any window 1001'winptydll' name of the winpty dynamic library 1002'winwidth' 'wiw' minimal number of columns for current window 1003'wrap' long lines wrap and continue on the next line 1004'wrapmargin' 'wm' chars from the right where wrapping starts 1005'wrapscan' 'ws' searches wrap around the end of the file 1006'write' writing to a file is allowed 1007'writeany' 'wa' write to file with no need for "!" override 1008'writebackup' 'wb' make a backup before overwriting a file 1009'writedelay' 'wd' delay this many msec for each char (for debug) 1010------------------------------------------------------------------------------ 1011*Q_ur* Undo/Redo commands 1012 1013|u| N u undo last N changes 1014|CTRL-R| N CTRL-R redo last N undone changes 1015|U| U restore last changed line 1016------------------------------------------------------------------------------ 1017*Q_et* External commands 1018 1019|:shell| :sh[ell] start a shell 1020|:!| :!{command} execute {command} with a shell 1021|K| K lookup keyword under the cursor with 1022 'keywordprg' program (default: "man") 1023------------------------------------------------------------------------------ 1024*Q_qf* Quickfix commands 1025 1026|:cc| :cc [nr] display error [nr] (default is the same again) 1027|:cnext| :cn display the next error 1028|:cprevious| :cp display the previous error 1029|:clist| :cl list all errors 1030|:cfile| :cf read errors from the file 'errorfile' 1031|:cgetbuffer| :cgetb like :cbuffer but don't jump to the first error 1032|:cgetfile| :cg like :cfile but don't jump to the first error 1033|:cgetexpr| :cgete like :cexpr but don't jump to the first error 1034|:caddfile| :caddf add errors from the error file to the current 1035 quickfix list 1036|:caddexpr| :cad add errors from an expression to the current 1037 quickfix list 1038|:cbuffer| :cb read errors from text in a buffer 1039|:cexpr| :cex read errors from an expression 1040|:cquit| :cq quit without writing and return error code (to 1041 the compiler) 1042|:make| :make [args] start make, read errors, and jump to first 1043 error 1044|:grep| :gr[ep] [args] execute 'grepprg' to find matches and jump to 1045 the first one 1046------------------------------------------------------------------------------ 1047*Q_vc* Various commands 1048 1049|CTRL-L| CTRL-L clear and redraw the screen 1050|CTRL-G| CTRL-G show current file name (with path) and cursor 1051 position 1052|ga| ga show ascii value of character under cursor in 1053 decimal, hex, and octal 1054|g8| g8 for utf-8 encoding: show byte sequence for 1055 character under cursor in hex 1056|g_CTRL-G| g CTRL-G show cursor column, line, and character 1057 position 1058|CTRL-C| CTRL-C during searches: Interrupt the search 1059|dos-CTRL-Break| CTRL-Break MS-Windows: during searches: Interrupt the 1060 search 1061|<Del>| <Del> while entering a count: delete last character 1062|:version| :ve[rsion] show version information 1063|:mode| :mode N set screen mode to N (obsolete) 1064|:normal| :norm[al][!] {commands} 1065 execute Normal mode commands 1066|Q| Q switch to "Ex" mode 1067 1068|:redir| :redir >{file} redirect messages to {file} 1069|:silent| :silent[!] {command} execute {command} silently 1070|:confirm| :confirm {command} quit, write, etc., asking about 1071 unsaved changes or read-only files 1072|:browse| :browse {command} open/read/write file, using a 1073 file selection dialog 1074------------------------------------------------------------------------------ 1075*Q_ce* Command-line editing 1076 1077|c_<Esc>| <Esc> abandon command-line (if 'wildchar' is 1078 <Esc>, type it twice) 1079 1080|c_CTRL-V| CTRL-V {char} insert {char} literally 1081|c_CTRL-V| CTRL-V {number} enter decimal value of character (up to 1082 three digits) 1083|c_CTRL-K| CTRL-K {char1} {char2} 1084 enter digraph (See |Q_di|) 1085|c_CTRL-R| CTRL-R {register} insert the contents of a register 1086 1087|c_<Left>| <Left>/<Right> cursor left/right 1088|c_<S-Left>| <S-Left>/<S-Right> cursor one word left/right 1089|c_CTRL-B| CTRL-B/CTRL-E cursor to beginning/end of command-line 1090 1091|c_<BS>| <BS> delete the character in front of the cursor 1092|c_<Del>| <Del> delete the character under the cursor 1093|c_CTRL-W| CTRL-W delete the word in front of the cursor 1094|c_CTRL-U| CTRL-U remove all characters 1095 1096|c_<Up>| <Up>/<Down> recall older/newer command-line that starts 1097 with current command 1098|c_<S-Up>| <S-Up>/<S-Down> recall older/newer command-line from history 1099|c_CTRL-G| CTRL-G next match when 'incsearch' is active 1100|c_CTRL-T| CTRL-T previous match when 'incsearch' is active 1101|:history| :his[tory] show older command-lines 1102 1103Context-sensitive completion on the command-line: 1104 1105|c_wildchar| 'wildchar' (default: <Tab>) 1106 do completion on the pattern in front of the 1107 cursor; if there are multiple matches, 1108 beep and show the first one; further 1109 'wildchar' will show the next ones 1110|c_CTRL-D| CTRL-D list all names that match the pattern in 1111 front of the cursor 1112|c_CTRL-A| CTRL-A insert all names that match pattern in front 1113 of cursor 1114|c_CTRL-L| CTRL-L insert longest common part of names that 1115 match pattern 1116|c_CTRL-N| CTRL-N after 'wildchar' with multiple matches: go 1117 to next match 1118|c_CTRL-P| CTRL-P after 'wildchar' with multiple matches: go 1119 to previous match 1120------------------------------------------------------------------------------ 1121*Q_ra* Ex ranges 1122 1123|:range| , separates two line numbers 1124|:range| ; idem, set cursor to the first line number 1125 before interpreting the second one 1126 1127|:range| {number} an absolute line number 1128|:range| . the current line 1129|:range| $ the last line in the file 1130|:range| % equal to 1,$ (the entire file) 1131|:range| * equal to '<,'> (visual area) 1132|:range| 't position of mark t 1133|:range| /{pattern}[/] the next line where {pattern} matches 1134|:range| ?{pattern}[?] the previous line where {pattern} matches 1135 1136|:range| +[num] add [num] to the preceding line number 1137 (default: 1) 1138|:range| -[num] subtract [num] from the preceding line 1139 number (default: 1) 1140------------------------------------------------------------------------------ 1141*Q_ex* Special Ex characters 1142 1143|:bar| | separates two commands (not for ":global" and ":!") 1144|:quote| " begins comment 1145 1146|:_%| % current file name (only where a file name is expected) 1147|:_#| #[num] alternate file name [num] (only where a file name is 1148 expected) 1149 Note: The next seven are typed literally; these are not special keys! 1150|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a 1151 file name is expected) 1152|:<afile>| <afile> file name, for use in an autocommand (only where a 1153 file name is expected) 1154|:<amatch>| <amatch> what matched with the pattern, for use in an 1155 autocommand (only where a file name is expected) 1156|:<cword>| <cword> word under the cursor (only where a file name is 1157 expected) 1158|:<cWORD>| <cWORD> WORD under the cursor (only where a file name is 1159 expected) (see |WORD|) 1160|:<cfile>| <cfile> file name under the cursor (only where a file name is 1161 expected) 1162|:<sfile>| <sfile> file name of a ":source"d file, within that file (only 1163 where a file name is expected) 1164 1165 After "%", "#", "<cfile>", "<sfile>" or "<afile>" 1166 |::p| :p full path 1167 |::h| :h head (file name removed) 1168 |::t| :t tail (file name only) 1169 |::r| :r root (extension removed) 1170 |::e| :e extension 1171 |::s| :s/{pat}/{repl}/ substitute {pat} with {repl} 1172------------------------------------------------------------------------------ 1173*Q_st* Starting Vim 1174 1175|-vim| vim [options] start editing with an empty buffer 1176|-file| vim [options] {file} .. start editing one or more files 1177|--| vim [options] - read file from stdin 1178|-tag| vim [options] -t {tag} edit the file associated with {tag} 1179|-qf| vim [options] -q [fname] start editing in QuickFix mode, 1180 display the first error 1181 1182 Most useful Vim arguments (for full list see |startup-options|) 1183 1184|-gui| -g start GUI (also allows other options) 1185 1186|-+| +[num] put the cursor at line [num] (default: last line) 1187|-+c| +{command} execute {command} after loading the file 1188|-+/| +/{pat} {file} .. put the cursor at the first occurrence of {pat} 1189|-v| -v Vi mode, start ex in Normal mode 1190|-e| -e Ex mode, start vim in Ex mode 1191|-R| -R Read-only mode, implies -n 1192|-m| -m modifications not allowed (resets 'write' option) 1193|-d| -d diff mode |diff| 1194|-b| -b binary mode 1195|-l| -l lisp mode 1196|-A| -A Arabic mode ('arabic' is set) 1197|-F| -F Farsi mode ('fkmap' and 'rightleft' are set) 1198|-H| -H Hebrew mode ('hkmap' and 'rightleft' are set) 1199|-V| -V Verbose, give informative messages 1200|-C| -C Compatible, set the 'compatible' option 1201|-N| -N Nocompatible, reset the 'compatible' option 1202|-r| -r give list of swap files 1203|-r| -r {file} .. recover aborted edit session 1204|-n| -n do not create a swap file 1205|-o| -o [num] open [num] windows (default: one for each file) 1206|-f| -f GUI: foreground process, don't fork 1207 Amiga: do not restart Vim to open a window (for 1208 e.g., mail) 1209|-s| -s {scriptin} first read commands from the file {scriptin} 1210|-w| -w {scriptout} write typed chars to file {scriptout} (append) 1211|-W| -W {scriptout} write typed chars to file {scriptout} (overwrite) 1212|-T| -T {terminal} set terminal name 1213|-d| -d {device} Amiga: open {device} to be used as a console 1214|-u| -u {vimrc} read inits from {vimrc} instead of other inits 1215|-U| -U {gvimrc} idem, for when starting the GUI 1216|-i| -i {viminfo} read info from {viminfo} instead of other files 1217|---| -- end of options, other arguments are file names 1218|--help| --help show list of arguments and exit 1219|--version| --version show version info and exit 1220|--| - read file from stdin 1221------------------------------------------------------------------------------ 1222*Q_ed* Editing a file 1223 1224 Without !: Fail if changes have been made to the current buffer. 1225 With !: Discard any changes to the current buffer. 1226|:edit_f| :e[dit][!] {file} edit {file} 1227|:edit| :e[dit][!] reload the current file 1228|:enew| :ene[w][!] edit a new, unnamed buffer 1229|:find| :fin[d][!] {file} find {file} in 'path' and edit it 1230 1231|CTRL-^| N CTRL-^ edit alternate file N (equivalent to ":e #N") 1232|gf| gf or ]f edit the file whose name is under the cursor 1233|:pwd| :pwd print the current directory name 1234|:cd| :cd [path] change the current directory to [path] 1235|:cd-| :cd - back to previous current directory 1236|:file| :f[ile] print the current file name and the cursor 1237 position 1238|:file| :f[ile] {name} set the current file name to {name} 1239|:files| :files show alternate file names 1240------------------------------------------------------------------------------ 1241*Q_fl* Using the argument list |argument-list| 1242 1243|:args| :ar[gs] print the argument list, with the current file 1244 in "[]" 1245|:all| :all or :sall open a window for every file in the arg list 1246|:wn| :wn[ext][!] write file and edit next file 1247|:wn| :wn[ext][!] {file} write to {file} and edit next file, unless 1248 {file} exists; With !, overwrite existing 1249 file 1250|:wN| :wN[ext][!] [file] write file and edit previous file 1251 1252 in current window in new window ~ 1253|:argument| :argu[ment] N :sar[gument] N edit file N 1254|:next| :n[ext] :sn[ext] edit next file 1255|:next_f| :n[ext] {arglist} :sn[ext] {arglist} define new arg list 1256 and edit first file 1257|:Next| :N[ext] :sN[ext] edit previous file 1258|:first| :fir[st] :sfir[st] edit first file 1259|:last| :la[st] :sla[st] edit last file 1260------------------------------------------------------------------------------ 1261*Q_wq* Writing and quitting 1262 1263|:w| :[range]w[rite][!] write to the current file 1264|:w_f| :[range]w[rite] {file} write to {file}, unless it already 1265 exists 1266|:w_f| :[range]w[rite]! {file} write to {file}. Overwrite an existing 1267 file 1268|:w_a| :[range]w[rite][!] >> append to the current file 1269|:w_a| :[range]w[rite][!] >> {file} append to {file} 1270|:w_c| :[range]w[rite] !{cmd} execute {cmd} with [range] lines as 1271 standard input 1272|:up| :[range]up[date][!] write to current file if modified 1273|:wall| :wa[ll][!] write all changed buffers 1274 1275|:q| :q[uit] quit current buffer, unless changes have been 1276 made; Exit Vim when there are no other 1277 non-help buffers 1278|:q| :q[uit]! quit current buffer always, discard any 1279 changes. Exit Vim when there are no other 1280 non-help buffers 1281|:qa| :qa[ll] exit Vim, unless changes have been made 1282|:qa| :qa[ll]! exit Vim always, discard any changes 1283|:cq| :cq quit without writing and return error code 1284 1285|:wq| :wq[!] write the current file and exit 1286|:wq| :wq[!] {file} write to {file} and exit 1287|:xit| :x[it][!] [file] like ":wq" but write only when changes have 1288 been made 1289|ZZ| ZZ same as ":x" 1290|ZQ| ZQ same as ":q!" 1291|:xall| :xa[ll][!] or :wqall[!] 1292 write all changed buffers and exit 1293 1294|:stop| :st[op][!] suspend Vim or start new shell; if 'aw' option 1295 is set and [!] not given write the buffer 1296|CTRL-Z| CTRL-Z same as ":stop" 1297------------------------------------------------------------------------------ 1298*Q_ac* Automatic Commands 1299 1300|viminfo-file| read registers, marks, history at startup, save when exiting. 1301 1302|:rviminfo| :rv[iminfo] [file] read info from viminfo file [file] 1303|:rviminfo| :rv[iminfo]! [file] idem, overwrite existing info 1304|:wviminfo| :wv[iminfo] [file] add info to viminfo file [file] 1305|:wviminfo| :wv[iminfo]! [file] write info to viminfo file [file] 1306 1307|modeline| Automatic option setting when editing a file 1308 1309|modeline| vim:{set-arg}: .. In the first and last lines of the 1310 file (see 'ml' option), {set-arg} is 1311 given as an argument to ":set" 1312 1313|autocommand| Automatic execution of commands on certain events. 1314 1315|:autocmd| :au list all autocommands 1316|:autocmd| :au {event} list all autocommands for {event} 1317|:autocmd| :au {event} {pat} list all autocommands for {event} 1318 with {pat} 1319|:autocmd| :au {event} {pat} {cmd} enter new autocommands for {event} 1320 with {pat} 1321|:autocmd| :au! remove all autocommands 1322|:autocmd| :au! {event} remove all autocommands for {event} 1323|:autocmd| :au! * {pat} remove all autocommands for {pat} 1324|:autocmd| :au! {event} {pat} remove all autocommands for {event} 1325 with {pat} 1326|:autocmd| :au! {event} {pat} {cmd} remove all autocommands for {event} 1327 with {pat} and enter new one 1328------------------------------------------------------------------------------ 1329*Q_wi* Multi-window commands 1330 1331|CTRL-W_s| CTRL-W s or :split split window into two parts 1332|:split_f| :split {file} split window and edit {file} in one of 1333 them 1334|:vsplit| :vsplit {file} same, but split vertically 1335|:vertical| :vertical {cmd} make {cmd} split vertically 1336 1337|:sfind| :sf[ind] {file} split window, find {file} in 'path' 1338 and edit it 1339|:terminal| :terminal {cmd} open a terminal window 1340|CTRL-W_]| CTRL-W ] split window and jump to tag under 1341 cursor 1342|CTRL-W_f| CTRL-W f split window and edit file name under 1343 the cursor 1344|CTRL-W_^| CTRL-W ^ split window and edit alternate file 1345|CTRL-W_n| CTRL-W n or :new create new empty window 1346|CTRL-W_q| CTRL-W q or :q[uit] quit editing and close window 1347|CTRL-W_c| CTRL-W c or :cl[ose] make buffer hidden and close window 1348|CTRL-W_o| CTRL-W o or :on[ly] make current window only one on the 1349 screen 1350 1351|CTRL-W_j| CTRL-W j move cursor to window below 1352|CTRL-W_k| CTRL-W k move cursor to window above 1353|CTRL-W_CTRL-W| CTRL-W CTRL-W move cursor to window below (wrap) 1354|CTRL-W_W| CTRL-W W move cursor to window above (wrap) 1355|CTRL-W_t| CTRL-W t move cursor to top window 1356|CTRL-W_b| CTRL-W b move cursor to bottom window 1357|CTRL-W_p| CTRL-W p move cursor to previous active window 1358 1359|CTRL-W_r| CTRL-W r rotate windows downwards 1360|CTRL-W_R| CTRL-W R rotate windows upwards 1361|CTRL-W_x| CTRL-W x exchange current window with next one 1362 1363|CTRL-W_=| CTRL-W = make all windows equal height & width 1364|CTRL-W_-| CTRL-W - decrease current window height 1365|CTRL-W_+| CTRL-W + increase current window height 1366|CTRL-W__| CTRL-W _ set current window height (default: 1367 very high) 1368 1369|CTRL-W_<| CTRL-W < decrease current window width 1370|CTRL-W_>| CTRL-W > increase current window width 1371|CTRL-W_bar| CTRL-W | set current window width (default: 1372 widest possible) 1373------------------------------------------------------------------------------ 1374*Q_bu* Buffer list commands 1375 1376|:buffers| :buffers or :files list all known buffer and file names 1377 1378|:ball| :ball or :sball edit all args/buffers 1379|:unhide| :unhide or :sunhide edit all loaded buffers 1380 1381|:badd| :badd {fname} add file name {fname} to the list 1382|:bunload| :bunload[!] [N] unload buffer [N] from memory 1383|:bdelete| :bdelete[!] [N] unload buffer [N] and delete it from 1384 the buffer list 1385 1386 in current window in new window ~ 1387|:buffer| :[N]buffer [N] :[N]sbuffer [N] to arg/buf N 1388|:bnext| :[N]bnext [N] :[N]sbnext [N] to Nth next arg/buf 1389|:bNext| :[N]bNext [N] :[N]sbNext [N] to Nth previous arg/buf 1390|:bprevious| :[N]bprevious [N] :[N]sbprevious [N] to Nth previous arg/buf 1391|:bfirst| :bfirst :sbfirst to first arg/buf 1392|:blast| :blast :sblast to last arg/buf 1393|:bmodified| :[N]bmod [N] :[N]sbmod [N] to Nth modified buf 1394------------------------------------------------------------------------------ 1395*Q_sy* Syntax Highlighting 1396 1397|:syn-on| :syntax on start using syntax highlighting 1398|:syn-off| :syntax off stop using syntax highlighting 1399 1400|:syn-keyword| :syntax keyword {group-name} {keyword} .. 1401 add a syntax keyword item 1402|:syn-match| :syntax match {group-name} {pattern} ... 1403 add syntax match item 1404|:syn-region| :syntax region {group-name} {pattern} ... 1405 add syntax region item 1406|:syn-sync| :syntax sync [ccomment | lines {N} | ...] 1407 tell syntax how to sync 1408|:syntax| :syntax [list] list current syntax items 1409|:syn-clear| :syntax clear clear all syntax info 1410 1411|:highlight| :highlight clear clear all highlight info 1412|:highlight| :highlight {group-name} {key}={arg} .. 1413 set highlighting for {group-name} 1414 1415|:filetype| :filetype on switch on file type detection, without 1416 syntax highlighting 1417|:filetype| :filetype plugin indent on 1418 switch on file type detection, with 1419 automatic indenting and settings 1420------------------------------------------------------------------------------ 1421*Q_gu* GUI commands 1422 1423|:gui| :gui UNIX: start the GUI 1424|:gui| :gui {fname} .. idem, and edit {fname} .. 1425 1426|:menu| :menu list all menus 1427|:menu| :menu {mpath} list menus starting with {mpath} 1428|:menu| :menu {mpath} {rhs} add menu {mpath}, giving {rhs} 1429|:menu| :menu {pri} {mpath} {rhs} 1430 idem, with priorities {pri} 1431|:menu| :menu ToolBar.{name} {rhs} 1432 add toolbar item, giving {rhs} 1433|:tmenu| :tmenu {mpath} {text} add tooltip to menu {mpath} 1434|:unmenu| :unmenu {mpath} remove menu {mpath} 1435------------------------------------------------------------------------------ 1436*Q_fo* Folding 1437 1438|'foldmethod'| set foldmethod=manual manual folding 1439 set foldmethod=indent folding by indent 1440 set foldmethod=expr folding by 'foldexpr' 1441 set foldmethod=syntax folding by syntax regions 1442 set foldmethod=marker folding by 'foldmarker' 1443 1444|zf| zf{motion} operator: Define a fold manually 1445|:fold| :{range}fold define a fold for {range} lines 1446|zd| zd delete one fold under the cursor 1447|zD| zD delete all folds under the cursor 1448 1449|zo| zo open one fold under the cursor 1450|zO| zO open all folds under the cursor 1451|zc| zc close one fold under the cursor 1452|zC| zC close all folds under the cursor 1453 1454|zm| zm fold more: decrease 'foldlevel' 1455|zM| zM close all folds: make 'foldlevel' zero 1456|zr| zr reduce folding: increase 'foldlevel' 1457|zR| zR open all folds: make 'foldlevel' max. 1458 1459|zn| zn fold none: reset 'foldenable' 1460|zN| zN fold normal set 'foldenable' 1461|zi| zi invert 'foldenable' 1462 1463 vim:tw=78:ts=8:noet:ft=help:norl: 1464