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