1*quickref.txt* For Vim version 8.2. Last change: 2021 Oct 17 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'guiligatures' 'gli' GTK GUI: ASCII characters that can form shapes 736'guioptions' 'go' GUI: Which components and options are used 737'guipty' GUI: try to use a pseudo-tty for ":!" commands 738'guitablabel' 'gtl' GUI: custom label for a tab page 739'guitabtooltip' 'gtt' GUI: custom tooltip for a tab page 740'helpfile' 'hf' full path name of the main help file 741'helpheight' 'hh' minimum height of a new help window 742'helplang' 'hlg' preferred help languages 743'hidden' 'hid' don't unload buffer when it is |abandon|ed 744'highlight' 'hl' sets highlighting mode for various occasions 745'history' 'hi' number of command-lines that are remembered 746'hkmap' 'hk' Hebrew keyboard mapping 747'hkmapp' 'hkp' phonetic Hebrew keyboard mapping 748'hlsearch' 'hls' highlight matches with last search pattern 749'icon' let Vim set the text of the window icon 750'iconstring' string to use for the Vim icon text 751'ignorecase' 'ic' ignore case in search patterns 752'imactivatefunc' 'imaf' function to enable/disable the X input method 753'imactivatekey' 'imak' key that activates the X input method 754'imcmdline' 'imc' use IM when starting to edit a command line 755'imdisable' 'imd' do not use the IM in any mode 756'iminsert' 'imi' use :lmap or IM in Insert mode 757'imsearch' 'ims' use :lmap or IM when typing a search pattern 758'imstatusfunc' 'imsf' function to obtain X input method status 759'imstyle' 'imst' specifies the input style of the input method 760'include' 'inc' pattern to be used to find an include file 761'includeexpr' 'inex' expression used to process an include line 762'incsearch' 'is' highlight match while typing search pattern 763'indentexpr' 'inde' expression used to obtain the indent of a line 764'indentkeys' 'indk' keys that trigger indenting with 'indentexpr' 765'infercase' 'inf' adjust case of match for keyword completion 766'insertmode' 'im' start the edit of a file in Insert mode 767'isfname' 'isf' characters included in file names and pathnames 768'isident' 'isi' characters included in identifiers 769'iskeyword' 'isk' characters included in keywords 770'isprint' 'isp' printable characters 771'joinspaces' 'js' two spaces after a period with a join command 772'key' encryption key 773'keymap' 'kmp' name of a keyboard mapping 774'keymodel' 'km' enable starting/stopping selection with keys 775'keywordprg' 'kp' program to use for the "K" command 776'langmap' 'lmap' alphabetic characters for other language mode 777'langmenu' 'lm' language to be used for the menus 778'langnoremap' 'lnr' do not apply 'langmap' to mapped characters 779'langremap' 'lrm' do apply 'langmap' to mapped characters 780'laststatus' 'ls' tells when last window has status lines 781'lazyredraw' 'lz' don't redraw while executing macros 782'linebreak' 'lbr' wrap long lines at a blank 783'lines' number of lines in the display 784'linespace' 'lsp' number of pixel lines to use between characters 785'lisp' automatic indenting for Lisp 786'lispwords' 'lw' words that change how lisp indenting works 787'list' show <Tab> and <EOL> 788'listchars' 'lcs' characters for displaying in list mode 789'loadplugins' 'lpl' load plugin scripts when starting up 790'luadll' name of the Lua dynamic library 791'macatsui' Mac GUI: use ATSUI text drawing 792'magic' changes special characters in search patterns 793'makeef' 'mef' name of the errorfile for ":make" 794'makeencoding' 'menc' encoding of external make/grep commands 795'makeprg' 'mp' program to use for the ":make" command 796'matchpairs' 'mps' pairs of characters that "%" can match 797'matchtime' 'mat' tenths of a second to show matching paren 798'maxcombine' 'mco' maximum nr of combining characters displayed 799'maxfuncdepth' 'mfd' maximum recursive depth for user functions 800'maxmapdepth' 'mmd' maximum recursive depth for mapping 801'maxmem' 'mm' maximum memory (in Kbyte) used for one buffer 802'maxmempattern' 'mmp' maximum memory (in Kbyte) used for pattern search 803'maxmemtot' 'mmt' maximum memory (in Kbyte) used for all buffers 804'menuitems' 'mis' maximum number of items in a menu 805'mkspellmem' 'msm' memory used before |:mkspell| compresses the tree 806'modeline' 'ml' recognize modelines at start or end of file 807'modelineexpr' 'mle' allow setting expression options from a modeline 808'modelines' 'mls' number of lines checked for modelines 809'modifiable' 'ma' changes to the text are not possible 810'modified' 'mod' buffer has been modified 811'more' pause listings when the whole screen is filled 812'mouse' enable the use of mouse clicks 813'mousefocus' 'mousef' keyboard focus follows the mouse 814'mousehide' 'mh' hide mouse pointer while typing 815'mousemodel' 'mousem' changes meaning of mouse buttons 816'mouseshape' 'mouses' shape of the mouse pointer in different modes 817'mousetime' 'mouset' max time between mouse double-click 818'mzquantum' 'mzq' the interval between polls for MzScheme threads 819'mzschemedll' name of the MzScheme dynamic library 820'mzschemegcdll' name of the MzScheme dynamic library for GC 821'nrformats' 'nf' number formats recognized for CTRL-A command 822'number' 'nu' print the line number in front of each line 823'numberwidth' 'nuw' number of columns used for the line number 824'omnifunc' 'ofu' function for filetype-specific completion 825'opendevice' 'odev' allow reading/writing devices on MS-Windows 826'operatorfunc' 'opfunc' function to be called for |g@| operator 827'osfiletype' 'oft' no longer supported 828'packpath' 'pp' list of directories used for packages 829'paragraphs' 'para' nroff macros that separate paragraphs 830'paste' allow pasting text 831'pastetoggle' 'pt' key code that causes 'paste' to toggle 832'patchexpr' 'pex' expression used to patch a file 833'patchmode' 'pm' keep the oldest version of a file 834'path' 'pa' list of directories searched with "gf" et.al. 835'perldll' name of the Perl dynamic library 836'preserveindent' 'pi' preserve the indent structure when reindenting 837'previewheight' 'pvh' height of the preview window 838'previewpopup' 'pvp' use popup window for preview 839'previewwindow' 'pvw' identifies the preview window 840'printdevice' 'pdev' name of the printer to be used for :hardcopy 841'printencoding' 'penc' encoding to be used for printing 842'printexpr' 'pexpr' expression used to print PostScript for :hardcopy 843'printfont' 'pfn' name of the font to be used for :hardcopy 844'printheader' 'pheader' format of the header used for :hardcopy 845'printmbcharset' 'pmbcs' CJK character set to be used for :hardcopy 846'printmbfont' 'pmbfn' font names to be used for CJK output of :hardcopy 847'printoptions' 'popt' controls the format of :hardcopy output 848'prompt' 'prompt' enable prompt in Ex mode 849'pumheight' 'ph' maximum height of the popup menu 850'pumwidth' 'pw' minimum width of the popup menu 851'pythondll' name of the Python 2 dynamic library 852'pythonhome' name of the Python 2 home directory 853'pythonthreedll' name of the Python 3 dynamic library 854'pythonthreehome' name of the Python 3 home directory 855'pyxversion' 'pyx' Python version used for pyx* commands 856'quickfixtextfunc' 'qftf' function for the text in the quickfix window 857'quoteescape' 'qe' escape characters used in a string 858'readonly' 'ro' disallow writing the buffer 859'redrawtime' 'rdt' timeout for 'hlsearch' and |:match| highlighting 860'regexpengine' 're' default regexp engine to use 861'relativenumber' 'rnu' show relative line number in front of each line 862'remap' allow mappings to work recursively 863'renderoptions' 'rop' options for text rendering on Windows 864'report' threshold for reporting nr. of lines changed 865'restorescreen' 'rs' Win32: restore screen when exiting 866'revins' 'ri' inserting characters will work backwards 867'rightleft' 'rl' window is right-to-left oriented 868'rightleftcmd' 'rlc' commands for which editing works right-to-left 869'rubydll' name of the Ruby dynamic library 870'ruler' 'ru' show cursor line and column in the status line 871'rulerformat' 'ruf' custom format for the ruler 872'runtimepath' 'rtp' list of directories used for runtime files 873'scroll' 'scr' lines to scroll with CTRL-U and CTRL-D 874'scrollbind' 'scb' scroll in window as other windows scroll 875'scrollfocus' 'scf' scroll wheel applies to window under pointer 876'scrolljump' 'sj' minimum number of lines to scroll 877'scrolloff' 'so' minimum nr. of lines above and below cursor 878'scrollopt' 'sbo' how 'scrollbind' should behave 879'sections' 'sect' nroff macros that separate sections 880'secure' secure mode for reading .vimrc in current dir 881'selection' 'sel' what type of selection to use 882'selectmode' 'slm' when to use Select mode instead of Visual mode 883'sessionoptions' 'ssop' options for |:mksession| 884'shell' 'sh' name of shell to use for external commands 885'shellcmdflag' 'shcf' flag to shell to execute one command 886'shellpipe' 'sp' string to put output of ":make" in error file 887'shellquote' 'shq' quote character(s) for around shell command 888'shellredir' 'srr' string to put output of filter in a temp file 889'shellslash' 'ssl' use forward slash for shell file names 890'shelltemp' 'stmp' whether to use a temp file for shell commands 891'shelltype' 'st' Amiga: influences how to use a shell 892'shellxescape' 'sxe' characters to escape when 'shellxquote' is ( 893'shellxquote' 'sxq' like 'shellquote', but include redirection 894'shiftround' 'sr' round indent to multiple of shiftwidth 895'shiftwidth' 'sw' number of spaces to use for (auto)indent step 896'shortmess' 'shm' list of flags, reduce length of messages 897'shortname' 'sn' Filenames assumed to be 8.3 chars 898'showbreak' 'sbr' string to use at the start of wrapped lines 899'showcmd' 'sc' show (partial) command in status line 900'showfulltag' 'sft' show full tag pattern when completing tag 901'showmatch' 'sm' briefly jump to matching bracket if insert one 902'showmode' 'smd' message on status line to show current mode 903'showtabline' 'stal' tells when the tab pages line is displayed 904'sidescroll' 'ss' minimum number of columns to scroll horizontal 905'sidescrolloff' 'siso' min. nr. of columns to left and right of cursor 906'signcolumn' 'scl' when to display the sign column 907'smartcase' 'scs' no ignore case when pattern has uppercase 908'smartindent' 'si' smart autoindenting for C programs 909'smarttab' 'sta' use 'shiftwidth' when inserting <Tab> 910'softtabstop' 'sts' number of spaces that <Tab> uses while editing 911'spell' enable spell checking 912'spellcapcheck' 'spc' pattern to locate end of a sentence 913'spellfile' 'spf' files where |zg| and |zw| store words 914'spelllang' 'spl' language(s) to do spell checking for 915'spelloptions' 'spo' options for spell checking 916'spellsuggest' 'sps' method(s) used to suggest spelling corrections 917'splitbelow' 'sb' new window from split is below the current one 918'splitright' 'spr' new window is put right of the current one 919'startofline' 'sol' commands move cursor to first non-blank in line 920'statusline' 'stl' custom format for the status line 921'suffixes' 'su' suffixes that are ignored with multiple match 922'suffixesadd' 'sua' suffixes added when searching for a file 923'swapfile' 'swf' whether to use a swapfile for a buffer 924'swapsync' 'sws' how to sync the swap file 925'switchbuf' 'swb' sets behavior when switching to another buffer 926'synmaxcol' 'smc' maximum column to find syntax items 927'syntax' 'syn' syntax to be loaded for current buffer 928'tabline' 'tal' custom format for the console tab pages line 929'tabpagemax' 'tpm' maximum number of tab pages for |-p| and "tab all" 930'tabstop' 'ts' number of spaces that <Tab> in file uses 931'tagbsearch' 'tbs' use binary searching in tags files 932'tagcase' 'tc' how to handle case when searching in tags files 933'tagfunc' 'tfu' function to get list of tag matches 934'taglength' 'tl' number of significant characters for a tag 935'tagrelative' 'tr' file names in tag file are relative 936'tags' 'tag' list of file names used by the tag command 937'tagstack' 'tgst' push tags onto the tag stack 938'tcldll' name of the Tcl dynamic library 939'term' name of the terminal 940'termbidi' 'tbidi' terminal takes care of bi-directionality 941'termencoding' 'tenc' character encoding used by the terminal 942'termguicolors' 'tgc' use GUI colors for the terminal 943'termwinkey' 'twk' key that precedes a Vim command in a terminal 944'termwinscroll' 'twsl' max number of scrollback lines in a terminal window 945'termwinsize' 'tws' size of a terminal window 946'termwintype' 'twt' MS-Windows: type of pty to use for terminal window 947'terse' shorten some messages 948'textauto' 'ta' obsolete, use 'fileformats' 949'textmode' 'tx' obsolete, use 'fileformat' 950'textwidth' 'tw' maximum width of text that is being inserted 951'thesaurus' 'tsr' list of thesaurus files for keyword completion 952'thesaurusfunc' 'tsrfu' function to be used for thesaurus completion 953'tildeop' 'top' tilde command "~" behaves like an operator 954'timeout' 'to' time out on mappings and key codes 955'timeoutlen' 'tm' time out time in milliseconds 956'title' let Vim set the title of the window 957'titlelen' percentage of 'columns' used for window title 958'titleold' old title, restored when exiting 959'titlestring' string to use for the Vim window title 960'toolbar' 'tb' GUI: which items to show in the toolbar 961'toolbariconsize' 'tbis' size of the toolbar icons (for GTK 2 only) 962'ttimeout' time out on mappings 963'ttimeoutlen' 'ttm' time out time for key codes in milliseconds 964'ttybuiltin' 'tbi' use built-in termcap before external termcap 965'ttyfast' 'tf' indicates a fast terminal connection 966'ttymouse' 'ttym' type of mouse codes generated 967'ttyscroll' 'tsl' maximum number of lines for a scroll 968'ttytype' 'tty' alias for 'term' 969'undodir' 'udir' where to store undo files 970'undofile' 'udf' save undo information in a file 971'undolevels' 'ul' maximum number of changes that can be undone 972'undoreload' 'ur' max nr of lines to save for undo on a buffer reload 973'updatecount' 'uc' after this many characters flush swap file 974'updatetime' 'ut' after this many milliseconds flush swap file 975'varsofttabstop' 'vsts' a list of number of spaces when typing <Tab> 976'vartabstop' 'vts' a list of number of spaces for <Tab>s 977'verbose' 'vbs' give informative messages 978'verbosefile' 'vfile' file to write messages in 979'viewdir' 'vdir' directory where to store files with :mkview 980'viewoptions' 'vop' specifies what to save for :mkview 981'viminfo' 'vi' use .viminfo file upon startup and exiting 982'viminfofile' 'vif' file name used for the viminfo file 983'virtualedit' 've' when to use virtual editing 984'visualbell' 'vb' use visual bell instead of beeping 985'warn' warn for shell command when buffer was changed 986'weirdinvert' 'wiv' for terminals that have weird inversion method 987'whichwrap' 'ww' allow specified keys to cross line boundaries 988'wildchar' 'wc' command-line character for wildcard expansion 989'wildcharm' 'wcm' like 'wildchar' but also works when mapped 990'wildignore' 'wig' files matching these patterns are not completed 991'wildignorecase' 'wic' ignore case when completing file names 992'wildmenu' 'wmnu' use menu for command line completion 993'wildmode' 'wim' mode for 'wildchar' command-line expansion 994'wildoptions' 'wop' specifies how command line completion is done 995'winaltkeys' 'wak' when the windows system handles ALT keys 996'wincolor' 'wcr' window-local highlighting 997'window' 'wi' nr of lines to scroll for CTRL-F and CTRL-B 998'winheight' 'wh' minimum number of lines for the current window 999'winfixheight' 'wfh' keep window height when opening/closing windows 1000'winfixwidth' 'wfw' keep window width when opening/closing windows 1001'winminheight' 'wmh' minimum number of lines for any window 1002'winminwidth' 'wmw' minimal number of columns for any window 1003'winptydll' name of the winpty dynamic library 1004'winwidth' 'wiw' minimal number of columns for current window 1005'wrap' long lines wrap and continue on the next line 1006'wrapmargin' 'wm' chars from the right where wrapping starts 1007'wrapscan' 'ws' searches wrap around the end of the file 1008'write' writing to a file is allowed 1009'writeany' 'wa' write to file with no need for "!" override 1010'writebackup' 'wb' make a backup before overwriting a file 1011'writedelay' 'wd' delay this many msec for each char (for debug) 1012------------------------------------------------------------------------------ 1013*Q_ur* Undo/Redo commands 1014 1015|u| N u undo last N changes 1016|CTRL-R| N CTRL-R redo last N undone changes 1017|U| U restore last changed line 1018------------------------------------------------------------------------------ 1019*Q_et* External commands 1020 1021|:shell| :sh[ell] start a shell 1022|:!| :!{command} execute {command} with a shell 1023|K| K lookup keyword under the cursor with 1024 'keywordprg' program (default: "man") 1025------------------------------------------------------------------------------ 1026*Q_qf* Quickfix commands 1027 1028|:cc| :cc [nr] display error [nr] (default is the same again) 1029|:cnext| :cn display the next error 1030|:cprevious| :cp display the previous error 1031|:clist| :cl list all errors 1032|:cfile| :cf read errors from the file 'errorfile' 1033|:cgetbuffer| :cgetb like :cbuffer but don't jump to the first error 1034|:cgetfile| :cg like :cfile but don't jump to the first error 1035|:cgetexpr| :cgete like :cexpr but don't jump to the first error 1036|:caddfile| :caddf add errors from the error file to the current 1037 quickfix list 1038|:caddexpr| :cad add errors from an expression to the current 1039 quickfix list 1040|:cbuffer| :cb read errors from text in a buffer 1041|:cexpr| :cex read errors from an expression 1042|:cquit| :cq quit without writing and return error code (to 1043 the compiler) 1044|:make| :make [args] start make, read errors, and jump to first 1045 error 1046|:grep| :gr[ep] [args] execute 'grepprg' to find matches and jump to 1047 the first one 1048------------------------------------------------------------------------------ 1049*Q_vc* Various commands 1050 1051|CTRL-L| CTRL-L clear and redraw the screen 1052|CTRL-G| CTRL-G show current file name (with path) and cursor 1053 position 1054|ga| ga show ascii value of character under cursor in 1055 decimal, hex, and octal 1056|g8| g8 for utf-8 encoding: show byte sequence for 1057 character under cursor in hex 1058|g_CTRL-G| g CTRL-G show cursor column, line, and character 1059 position 1060|CTRL-C| CTRL-C during searches: Interrupt the search 1061|dos-CTRL-Break| CTRL-Break MS-Windows: during searches: Interrupt the 1062 search 1063|<Del>| <Del> while entering a count: delete last character 1064|:version| :ve[rsion] show version information 1065|:mode| :mode N set screen mode to N (obsolete) 1066|:normal| :norm[al][!] {commands} 1067 execute Normal mode commands 1068|Q| Q switch to "Ex" mode 1069 1070|:redir| :redir >{file} redirect messages to {file} 1071|:silent| :silent[!] {command} execute {command} silently 1072|:confirm| :confirm {command} quit, write, etc., asking about 1073 unsaved changes or read-only files 1074|:browse| :browse {command} open/read/write file, using a 1075 file selection dialog 1076------------------------------------------------------------------------------ 1077*Q_ce* Command-line editing 1078 1079|c_<Esc>| <Esc> abandon command-line (if 'wildchar' is 1080 <Esc>, type it twice) 1081 1082|c_CTRL-V| CTRL-V {char} insert {char} literally 1083|c_CTRL-V| CTRL-V {number} enter decimal value of character (up to 1084 three digits) 1085|c_CTRL-K| CTRL-K {char1} {char2} 1086 enter digraph (See |Q_di|) 1087|c_CTRL-R| CTRL-R {register} insert the contents of a register 1088 1089|c_<Left>| <Left>/<Right> cursor left/right 1090|c_<S-Left>| <S-Left>/<S-Right> cursor one word left/right 1091|c_CTRL-B| CTRL-B/CTRL-E cursor to beginning/end of command-line 1092 1093|c_<BS>| <BS> delete the character in front of the cursor 1094|c_<Del>| <Del> delete the character under the cursor 1095|c_CTRL-W| CTRL-W delete the word in front of the cursor 1096|c_CTRL-U| CTRL-U remove all characters 1097 1098|c_<Up>| <Up>/<Down> recall older/newer command-line that starts 1099 with current command 1100|c_<S-Up>| <S-Up>/<S-Down> recall older/newer command-line from history 1101|c_CTRL-G| CTRL-G next match when 'incsearch' is active 1102|c_CTRL-T| CTRL-T previous match when 'incsearch' is active 1103|:history| :his[tory] show older command-lines 1104 1105Context-sensitive completion on the command-line: 1106 1107|c_wildchar| 'wildchar' (default: <Tab>) 1108 do completion on the pattern in front of the 1109 cursor; if there are multiple matches, 1110 beep and show the first one; further 1111 'wildchar' will show the next ones 1112|c_CTRL-D| CTRL-D list all names that match the pattern in 1113 front of the cursor 1114|c_CTRL-A| CTRL-A insert all names that match pattern in front 1115 of cursor 1116|c_CTRL-L| CTRL-L insert longest common part of names that 1117 match pattern 1118|c_CTRL-N| CTRL-N after 'wildchar' with multiple matches: go 1119 to next match 1120|c_CTRL-P| CTRL-P after 'wildchar' with multiple matches: go 1121 to previous match 1122------------------------------------------------------------------------------ 1123*Q_ra* Ex ranges 1124 1125|:range| , separates two line numbers 1126|:range| ; idem, set cursor to the first line number 1127 before interpreting the second one 1128 1129|:range| {number} an absolute line number 1130|:range| . the current line 1131|:range| $ the last line in the file 1132|:range| % equal to 1,$ (the entire file) 1133|:range| * equal to '<,'> (visual area) 1134|:range| 't position of mark t 1135|:range| /{pattern}[/] the next line where {pattern} matches 1136|:range| ?{pattern}[?] the previous line where {pattern} matches 1137 1138|:range| +[num] add [num] to the preceding line number 1139 (default: 1) 1140|:range| -[num] subtract [num] from the preceding line 1141 number (default: 1) 1142------------------------------------------------------------------------------ 1143*Q_ex* Special Ex characters 1144 1145|:bar| | separates two commands (not for ":global" and ":!") 1146|:quote| " begins comment 1147 1148|:_%| % current file name (only where a file name is expected) 1149|:_#| #[num] alternate file name [num] (only where a file name is 1150 expected) 1151 Note: The next seven are typed literally; these are not special keys! 1152|:<abuf>| <abuf> buffer number, for use in an autocommand (only where a 1153 file name is expected) 1154|:<afile>| <afile> file name, for use in an autocommand (only where a 1155 file name is expected) 1156|:<amatch>| <amatch> what matched with the pattern, for use in an 1157 autocommand (only where a file name is expected) 1158|:<cword>| <cword> word under the cursor (only where a file name is 1159 expected) 1160|:<cWORD>| <cWORD> WORD under the cursor (only where a file name is 1161 expected) (see |WORD|) 1162|:<cfile>| <cfile> file name under the cursor (only where a file name is 1163 expected) 1164|:<sfile>| <sfile> file name of a ":source"d file, within that file (only 1165 where a file name is expected) 1166 1167 After "%", "#", "<cfile>", "<sfile>" or "<afile>" 1168 |::p| :p full path 1169 |::h| :h head (file name removed) 1170 |::t| :t tail (file name only) 1171 |::r| :r root (extension removed) 1172 |::e| :e extension 1173 |::s| :s/{pat}/{repl}/ substitute {pat} with {repl} 1174------------------------------------------------------------------------------ 1175*Q_st* Starting Vim 1176 1177|-vim| vim [options] start editing with an empty buffer 1178|-file| vim [options] {file} .. start editing one or more files 1179|--| vim [options] - read file from stdin 1180|-tag| vim [options] -t {tag} edit the file associated with {tag} 1181|-qf| vim [options] -q [fname] start editing in QuickFix mode, 1182 display the first error 1183 1184 Most useful Vim arguments (for full list see |startup-options|) 1185 1186|-gui| -g start GUI (also allows other options) 1187 1188|-+| +[num] put the cursor at line [num] (default: last line) 1189|-+c| +{command} execute {command} after loading the file 1190|-+/| +/{pat} {file} .. put the cursor at the first occurrence of {pat} 1191|-v| -v Vi mode, start ex in Normal mode 1192|-e| -e Ex mode, start vim in Ex mode 1193|-R| -R Read-only mode, implies -n 1194|-m| -m modifications not allowed (resets 'write' option) 1195|-d| -d diff mode |diff| 1196|-b| -b binary mode 1197|-l| -l lisp mode 1198|-A| -A Arabic mode ('arabic' is set) 1199|-F| -F Farsi mode ('fkmap' and 'rightleft' are set) 1200|-H| -H Hebrew mode ('hkmap' and 'rightleft' are set) 1201|-V| -V Verbose, give informative messages 1202|-C| -C Compatible, set the 'compatible' option 1203|-N| -N Nocompatible, reset the 'compatible' option 1204|-r| -r give list of swap files 1205|-r| -r {file} .. recover aborted edit session 1206|-n| -n do not create a swap file 1207|-o| -o [num] open [num] windows (default: one for each file) 1208|-f| -f GUI: foreground process, don't fork 1209 Amiga: do not restart Vim to open a window (for 1210 e.g., mail) 1211|-s| -s {scriptin} first read commands from the file {scriptin} 1212|-w| -w {scriptout} write typed chars to file {scriptout} (append) 1213|-W| -W {scriptout} write typed chars to file {scriptout} (overwrite) 1214|-T| -T {terminal} set terminal name 1215|-d| -d {device} Amiga: open {device} to be used as a console 1216|-u| -u {vimrc} read inits from {vimrc} instead of other inits 1217|-U| -U {gvimrc} idem, for when starting the GUI 1218|-i| -i {viminfo} read info from {viminfo} instead of other files 1219|---| -- end of options, other arguments are file names 1220|--help| --help show list of arguments and exit 1221|--version| --version show version info and exit 1222|--| - read file from stdin 1223------------------------------------------------------------------------------ 1224*Q_ed* Editing a file 1225 1226 Without !: Fail if changes have been made to the current buffer. 1227 With !: Discard any changes to the current buffer. 1228|:edit_f| :e[dit][!] {file} edit {file} 1229|:edit| :e[dit][!] reload the current file 1230|:enew| :ene[w][!] edit a new, unnamed buffer 1231|:find| :fin[d][!] {file} find {file} in 'path' and edit it 1232 1233|CTRL-^| N CTRL-^ edit alternate file N (equivalent to ":e #N") 1234|gf| gf or ]f edit the file whose name is under the cursor 1235|:pwd| :pwd print the current directory name 1236|:cd| :cd [path] change the current directory to [path] 1237|:cd-| :cd - back to previous current directory 1238|:file| :f[ile] print the current file name and the cursor 1239 position 1240|:file| :f[ile] {name} set the current file name to {name} 1241|:files| :files show alternate file names 1242------------------------------------------------------------------------------ 1243*Q_fl* Using the argument list |argument-list| 1244 1245|:args| :ar[gs] print the argument list, with the current file 1246 in "[]" 1247|:all| :all or :sall open a window for every file in the arg list 1248|:wn| :wn[ext][!] write file and edit next file 1249|:wn| :wn[ext][!] {file} write to {file} and edit next file, unless 1250 {file} exists; With !, overwrite existing 1251 file 1252|:wN| :wN[ext][!] [file] write file and edit previous file 1253 1254 in current window in new window ~ 1255|:argument| :argu[ment] N :sar[gument] N edit file N 1256|:next| :n[ext] :sn[ext] edit next file 1257|:next_f| :n[ext] {arglist} :sn[ext] {arglist} define new arg list 1258 and edit first file 1259|:Next| :N[ext] :sN[ext] edit previous file 1260|:first| :fir[st] :sfir[st] edit first file 1261|:last| :la[st] :sla[st] edit last file 1262------------------------------------------------------------------------------ 1263*Q_wq* Writing and quitting 1264 1265|:w| :[range]w[rite][!] write to the current file 1266|:w_f| :[range]w[rite] {file} write to {file}, unless it already 1267 exists 1268|:w_f| :[range]w[rite]! {file} write to {file}. Overwrite an existing 1269 file 1270|:w_a| :[range]w[rite][!] >> append to the current file 1271|:w_a| :[range]w[rite][!] >> {file} append to {file} 1272|:w_c| :[range]w[rite] !{cmd} execute {cmd} with [range] lines as 1273 standard input 1274|:up| :[range]up[date][!] write to current file if modified 1275|:wall| :wa[ll][!] write all changed buffers 1276 1277|:q| :q[uit] quit current buffer, unless changes have been 1278 made; Exit Vim when there are no other 1279 non-help buffers 1280|:q| :q[uit]! quit current buffer always, discard any 1281 changes. Exit Vim when there are no other 1282 non-help buffers 1283|:qa| :qa[ll] exit Vim, unless changes have been made 1284|:qa| :qa[ll]! exit Vim always, discard any changes 1285|:cq| :cq quit without writing and return error code 1286 1287|:wq| :wq[!] write the current file and exit 1288|:wq| :wq[!] {file} write to {file} and exit 1289|:xit| :x[it][!] [file] like ":wq" but write only when changes have 1290 been made 1291|ZZ| ZZ same as ":x" 1292|ZQ| ZQ same as ":q!" 1293|:xall| :xa[ll][!] or :wqall[!] 1294 write all changed buffers and exit 1295 1296|:stop| :st[op][!] suspend Vim or start new shell; if 'aw' option 1297 is set and [!] not given write the buffer 1298|CTRL-Z| CTRL-Z same as ":stop" 1299------------------------------------------------------------------------------ 1300*Q_ac* Automatic Commands 1301 1302|viminfo-file| read registers, marks, history at startup, save when exiting. 1303 1304|:rviminfo| :rv[iminfo] [file] read info from viminfo file [file] 1305|:rviminfo| :rv[iminfo]! [file] idem, overwrite existing info 1306|:wviminfo| :wv[iminfo] [file] add info to viminfo file [file] 1307|:wviminfo| :wv[iminfo]! [file] write info to viminfo file [file] 1308 1309|modeline| Automatic option setting when editing a file 1310 1311|modeline| vim:{set-arg}: .. In the first and last lines of the 1312 file (see 'ml' option), {set-arg} is 1313 given as an argument to ":set" 1314 1315|autocommand| Automatic execution of commands on certain events. 1316 1317|:autocmd| :au list all autocommands 1318|:autocmd| :au {event} list all autocommands for {event} 1319|:autocmd| :au {event} {pat} list all autocommands for {event} 1320 with {pat} 1321|:autocmd| :au {event} {pat} {cmd} enter new autocommands for {event} 1322 with {pat} 1323|:autocmd| :au! remove all autocommands 1324|:autocmd| :au! {event} remove all autocommands for {event} 1325|:autocmd| :au! * {pat} remove all autocommands for {pat} 1326|:autocmd| :au! {event} {pat} remove all autocommands for {event} 1327 with {pat} 1328|:autocmd| :au! {event} {pat} {cmd} remove all autocommands for {event} 1329 with {pat} and enter new one 1330------------------------------------------------------------------------------ 1331*Q_wi* Multi-window commands 1332 1333|CTRL-W_s| CTRL-W s or :split split window into two parts 1334|:split_f| :split {file} split window and edit {file} in one of 1335 them 1336|:vsplit| :vsplit {file} same, but split vertically 1337|:vertical| :vertical {cmd} make {cmd} split vertically 1338 1339|:sfind| :sf[ind] {file} split window, find {file} in 'path' 1340 and edit it 1341|:terminal| :terminal {cmd} open a terminal window 1342|CTRL-W_]| CTRL-W ] split window and jump to tag under 1343 cursor 1344|CTRL-W_f| CTRL-W f split window and edit file name under 1345 the cursor 1346|CTRL-W_^| CTRL-W ^ split window and edit alternate file 1347|CTRL-W_n| CTRL-W n or :new create new empty window 1348|CTRL-W_q| CTRL-W q or :q[uit] quit editing and close window 1349|CTRL-W_c| CTRL-W c or :cl[ose] make buffer hidden and close window 1350|CTRL-W_o| CTRL-W o or :on[ly] make current window only one on the 1351 screen 1352 1353|CTRL-W_j| CTRL-W j move cursor to window below 1354|CTRL-W_k| CTRL-W k move cursor to window above 1355|CTRL-W_CTRL-W| CTRL-W CTRL-W move cursor to window below (wrap) 1356|CTRL-W_W| CTRL-W W move cursor to window above (wrap) 1357|CTRL-W_t| CTRL-W t move cursor to top window 1358|CTRL-W_b| CTRL-W b move cursor to bottom window 1359|CTRL-W_p| CTRL-W p move cursor to previous active window 1360 1361|CTRL-W_r| CTRL-W r rotate windows downwards 1362|CTRL-W_R| CTRL-W R rotate windows upwards 1363|CTRL-W_x| CTRL-W x exchange current window with next one 1364 1365|CTRL-W_=| CTRL-W = make all windows equal height & width 1366|CTRL-W_-| CTRL-W - decrease current window height 1367|CTRL-W_+| CTRL-W + increase current window height 1368|CTRL-W__| CTRL-W _ set current window height (default: 1369 very high) 1370 1371|CTRL-W_<| CTRL-W < decrease current window width 1372|CTRL-W_>| CTRL-W > increase current window width 1373|CTRL-W_bar| CTRL-W | set current window width (default: 1374 widest possible) 1375------------------------------------------------------------------------------ 1376*Q_bu* Buffer list commands 1377 1378|:buffers| :buffers or :files list all known buffer and file names 1379 1380|:ball| :ball or :sball edit all args/buffers 1381|:unhide| :unhide or :sunhide edit all loaded buffers 1382 1383|:badd| :badd {fname} add file name {fname} to the list 1384|:bunload| :bunload[!] [N] unload buffer [N] from memory 1385|:bdelete| :bdelete[!] [N] unload buffer [N] and delete it from 1386 the buffer list 1387 1388 in current window in new window ~ 1389|:buffer| :[N]buffer [N] :[N]sbuffer [N] to arg/buf N 1390|:bnext| :[N]bnext [N] :[N]sbnext [N] to Nth next arg/buf 1391|:bNext| :[N]bNext [N] :[N]sbNext [N] to Nth previous arg/buf 1392|:bprevious| :[N]bprevious [N] :[N]sbprevious [N] to Nth previous arg/buf 1393|:bfirst| :bfirst :sbfirst to first arg/buf 1394|:blast| :blast :sblast to last arg/buf 1395|:bmodified| :[N]bmod [N] :[N]sbmod [N] to Nth modified buf 1396------------------------------------------------------------------------------ 1397*Q_sy* Syntax Highlighting 1398 1399|:syn-on| :syntax on start using syntax highlighting 1400|:syn-off| :syntax off stop using syntax highlighting 1401 1402|:syn-keyword| :syntax keyword {group-name} {keyword} .. 1403 add a syntax keyword item 1404|:syn-match| :syntax match {group-name} {pattern} ... 1405 add syntax match item 1406|:syn-region| :syntax region {group-name} {pattern} ... 1407 add syntax region item 1408|:syn-sync| :syntax sync [ccomment | lines {N} | ...] 1409 tell syntax how to sync 1410|:syntax| :syntax [list] list current syntax items 1411|:syn-clear| :syntax clear clear all syntax info 1412 1413|:highlight| :highlight clear clear all highlight info 1414|:highlight| :highlight {group-name} {key}={arg} .. 1415 set highlighting for {group-name} 1416 1417|:filetype| :filetype on switch on file type detection, without 1418 syntax highlighting 1419|:filetype| :filetype plugin indent on 1420 switch on file type detection, with 1421 automatic indenting and settings 1422------------------------------------------------------------------------------ 1423*Q_gu* GUI commands 1424 1425|:gui| :gui UNIX: start the GUI 1426|:gui| :gui {fname} .. idem, and edit {fname} .. 1427 1428|:menu| :menu list all menus 1429|:menu| :menu {mpath} list menus starting with {mpath} 1430|:menu| :menu {mpath} {rhs} add menu {mpath}, giving {rhs} 1431|:menu| :menu {pri} {mpath} {rhs} 1432 idem, with priorities {pri} 1433|:menu| :menu ToolBar.{name} {rhs} 1434 add toolbar item, giving {rhs} 1435|:tmenu| :tmenu {mpath} {text} add tooltip to menu {mpath} 1436|:unmenu| :unmenu {mpath} remove menu {mpath} 1437------------------------------------------------------------------------------ 1438*Q_fo* Folding 1439 1440|'foldmethod'| set foldmethod=manual manual folding 1441 set foldmethod=indent folding by indent 1442 set foldmethod=expr folding by 'foldexpr' 1443 set foldmethod=syntax folding by syntax regions 1444 set foldmethod=marker folding by 'foldmarker' 1445 1446|zf| zf{motion} operator: Define a fold manually 1447|:fold| :{range}fold define a fold for {range} lines 1448|zd| zd delete one fold under the cursor 1449|zD| zD delete all folds under the cursor 1450 1451|zo| zo open one fold under the cursor 1452|zO| zO open all folds under the cursor 1453|zc| zc close one fold under the cursor 1454|zC| zC close all folds under the cursor 1455 1456|zm| zm fold more: decrease 'foldlevel' 1457|zM| zM close all folds: make 'foldlevel' zero 1458|zr| zr reduce folding: increase 'foldlevel' 1459|zR| zR open all folds: make 'foldlevel' max. 1460 1461|zn| zn fold none: reset 'foldenable' 1462|zN| zN fold normal set 'foldenable' 1463|zi| zi invert 'foldenable' 1464 1465 vim:tw=78:ts=8:noet:ft=help:norl: 1466