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