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