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