Bram Moolenaar | 8299df9 | 2004-07-10 09:47:34 +0000 | [diff] [blame^] | 1 | *quickref.txt* For Vim version 7.0aa. Last change: 2004 Jul 05 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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_ed| Editing a file |
| 22 | |Q_di| insert: Digraphs |Q_fl| Using the argument list |
| 23 | |Q_si| insert: Special inserts |Q_wq| Writing and quitting |
| 24 | |Q_de| change: Deleting text |Q_st| Starting VIM |
| 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 | ------------------------------------------------------------------------------ |
| 33 | N 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 | |
| 242 | These 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 |
Bram Moolenaar | 325b7a2 | 2004-07-05 15:58:32 +0000 | [diff] [blame] | 258 | |:startreplace| :startr[eplace][!] start Replace mode, at EOL when [!] used |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 259 | |
| 260 | in 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 | |
| 268 | leaving 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 | |
| 273 | moving 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 | |
| 320 | In 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 | |
| 588 | Short 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 |
Bram Moolenaar | cfbc5ee | 2004-07-02 15:38:35 +0000 | [diff] [blame] | 634 | |'completefunc'| |'cfu'| function to be used for Insert mode completion |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 325b7a2 | 2004-07-05 15:58:32 +0000 | [diff] [blame] | 766 | |'mzquantum'| |'mzq'| the interval between polls for MzScheme threads |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 767 | |'nrformats'| |'nf'| number formats recognized for CTRL-A command |
| 768 | |'number'| |'nu'| print the line number in front of each line |
Bram Moolenaar | 592e0a2 | 2004-07-03 16:05:59 +0000 | [diff] [blame] | 769 | |'numberwidth'| |'nuw'| number of columns used for the line number |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 |
Bram Moolenaar | 8299df9 | 2004-07-10 09:47:34 +0000 | [diff] [blame^] | 785 | |'printmbcharset'| |'pmbcs'| CJK character set to be used for :hardcopy |
| 786 | |'printmbfont'| |'pmbfn'| font names to be used for CJK output of :hardcopy |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 787 | |'printoptions'| |'popt'| controls the format of :hardcopy output |
Bram Moolenaar | cfbc5ee | 2004-07-02 15:38:35 +0000 | [diff] [blame] | 788 | |'quoteescape'| |'qe'| escape characters used in a string |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 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 | |g_CTRL-G| g CTRL-G show cursor column, line, and character |
| 938 | position |
| 939 | |CTRL-C| CTRL-C during searches: Interrupt the search |
| 940 | |dos-CTRL-Break| CTRL-Break MS-DOS: during searches: Interrupt the search |
| 941 | |<Del>| <Del> while entering a count: delete last character |
| 942 | |:version| :ve[rsion] show version information |
| 943 | |:mode| :mode N MS-DOS: set screen mode to N (number, C80, |
| 944 | C4350, etc.) |
| 945 | |:normal| :norm[al][!] {commands} |
| 946 | Execute Normal mode commands. |
| 947 | |Q| Q switch to "Ex" mode |
| 948 | |
| 949 | |:redir| :redir >{file} redirect messages to {file} |
| 950 | |:silent| :silent[!] {command} execute {command} silently |
| 951 | |:confirm| :confirm {command} quit, write, etc., asking about |
| 952 | unsaved changes or read-only files. |
| 953 | |:browse| :browse {command} open/read/write file, using a |
| 954 | file selection dialog |
| 955 | ------------------------------------------------------------------------------ |
| 956 | *Q_ce* Command-line editing |
| 957 | |
| 958 | |c_<Esc>| <Esc> abandon command-line (if 'wildchar' is |
| 959 | <Esc>, type it twice) |
| 960 | |
| 961 | |c_CTRL-V| CTRL-V {char} insert {char} literally |
| 962 | |c_CTRL-V| CTRL-V {number} enter decimal value of character (up to |
| 963 | three digits) |
| 964 | |c_CTRL-K| CTRL-K {char1} {char2} |
| 965 | enter digraph (See |Q_di|) |
| 966 | |c_CTRL-R| CTRL-R {0-9a-z"%#:-=} |
| 967 | insert the contents of a register |
| 968 | |
| 969 | |c_<Left>| <Left>/<Right> cursor left/right |
| 970 | |c_<S-Left>| <S-Left>/<S-Right> cursor one word left/right |
| 971 | |c_CTRL-B| CTRL-B/CTRL-E cursor to beginning/end of command-line |
| 972 | |
| 973 | |c_<BS>| <BS> delete the character in front of the cursor |
| 974 | |c_<Del>| <Del> delete the character under the cursor |
| 975 | |c_CTRL-W| CTRL-W delete the word in front of the cursor |
| 976 | |c_CTRL-U| CTRL-U remove all characters |
| 977 | |
| 978 | |c_<Up>| <Up>/<Down> recall older/newer command-line that starts |
| 979 | with current command |
| 980 | |c_<S-Up>| <S-Up>/<S-Down> recall older/newer command-line from history |
| 981 | |:history| :his[tory] show older command-lines |
| 982 | |
| 983 | Context-sensitive completion on the command-line: |
| 984 | |
| 985 | |c_wildchar| 'wildchar' (default: <Tab>) |
| 986 | do completion on the pattern in front of the |
| 987 | cursor. If there are multiple matches, |
| 988 | beep and show the first one; further |
| 989 | 'wildchar' will show the next ones. |
| 990 | |c_CTRL-D| CTRL-D list all names that match the pattern in |
| 991 | front of the cursor |
| 992 | |c_CTRL-A| CTRL-A insert all names that match pattern in front |
| 993 | of cursor |
| 994 | |c_CTRL-L| CTRL-L insert longest common part of names that |
| 995 | match pattern |
| 996 | |c_CTRL-N| CTRL-N after 'wildchar' with multiple matches: go |
| 997 | to next match |
| 998 | |c_CTRL-P| CTRL-P after 'wildchar' with multiple matches: go |
| 999 | to previous match |
| 1000 | ------------------------------------------------------------------------------ |
| 1001 | *Q_ra* Ex ranges |
| 1002 | |
| 1003 | |:range| , separates two line numbers |
| 1004 | |:range| ; idem, set cursor to the first line number |
| 1005 | before interpreting the second one |
| 1006 | |
| 1007 | |:range| {number} an absolute line number |
| 1008 | |:range| . the current line |
| 1009 | |:range| $ the last line in the file |
| 1010 | |:range| % equal to 1,$ (the entire file) |
| 1011 | |:range| * equal to '<,'> (visual area) |
| 1012 | |:range| 't position of mark t |
| 1013 | |:range| /{pattern}[/] the next line where {pattern} matches |
| 1014 | |:range| ?{pattern}[?] the previous line where {pattern} matches |
| 1015 | |
| 1016 | |:range| +[num] add [num] to the preceding line number |
| 1017 | (default: 1) |
| 1018 | |:range| -[num] subtract [num] from the preceding line |
| 1019 | number (default: 1) |
| 1020 | ------------------------------------------------------------------------------ |
| 1021 | *Q_ex* Special Ex characters |
| 1022 | |
| 1023 | |:bar| | separates two commands (not for ":global" and ":!") |
| 1024 | |:quote| " begins comment |
| 1025 | |
| 1026 | |:_%| % current file name (only where a file name is expected) |
| 1027 | |:_#| #[num] alternate file name [num] (only where a file name is |
| 1028 | expected) |
| 1029 | Note: The next four are typed literally; these are not special keys! |
| 1030 | |:<cword>| <cword> word under the cursor (only where a file name is |
| 1031 | expected) |
| 1032 | |:<cWORD>| <cWORD> WORD under the cursor (only where a file name is |
| 1033 | expected) (see |WORD|) |
| 1034 | |:<cfile>| <cfile> file name under the cursor (only where a file name is |
| 1035 | expected) |
| 1036 | |:<afile>| <afile> file name for autocommand (only where a file name is |
| 1037 | expected) |
| 1038 | |:<sfile>| <sfile> file name of a ":source"d file, within that file (only |
| 1039 | where a file name is expected) |
| 1040 | |
| 1041 | After "%", "#", "<cfile>", "<sfile>" or "<afile>" |
| 1042 | |::p| :p full path |
| 1043 | |::h| :h head (file name removed) |
| 1044 | |::t| :t tail (file name only) |
| 1045 | |::r| :r root (extension removed) |
| 1046 | |::e| :e extension |
| 1047 | |::s| :s/{pat}/{repl}/ substitute {pat} with {repl} |
| 1048 | ------------------------------------------------------------------------------ |
| 1049 | *Q_ed* Editing a file |
| 1050 | |
| 1051 | Without !: Fail if changes has been made to the current buffer. |
| 1052 | With !: Discard any changes to the current buffer. |
| 1053 | |:edit_f| :e[dit][!] {file} Edit {file}. |
| 1054 | |:edit| :e[dit][!] Reload the current file. |
| 1055 | |:enew| :ene[w][!] Edit a new, unnamed buffer. |
| 1056 | |:find| :fin[d][!] {file} Find {file} in 'path' and edit it. |
| 1057 | |
| 1058 | |CTRL-^| N CTRL-^ Edit alternate file N (equivalent to ":e #N"). |
| 1059 | |gf| gf or ]f Edit the file whose name is under the cursor |
| 1060 | |:pwd| :pwd Print the current directory name. |
| 1061 | |:cd| :cd [path] Change the current directory to [path]. |
| 1062 | |:cd-| :cd - Back to previous current directory. |
| 1063 | |:file| :f[ile] Print the current file name and the cursor |
| 1064 | position. |
| 1065 | |:file| :f[ile] {name} Set the current file name to {name}. |
| 1066 | |:files| :files Show alternate file names. |
| 1067 | ------------------------------------------------------------------------------ |
| 1068 | *Q_fl* Using the argument list |argument-list| |
| 1069 | |
| 1070 | |:args| :ar[gs] Print the argument list, with the current file |
| 1071 | in "[]". |
| 1072 | |:all| :all or :sall Open a window for every file in the arg list. |
| 1073 | |:wn| :wn[ext][!] Write file and edit next file. |
| 1074 | |:wn| :wn[ext][!] {file} Write to {file} and edit next file, unless |
| 1075 | {file} exists. With !, overwrite existing |
| 1076 | file. |
| 1077 | |:wN| :wN[ext][!] [file] Write file and edit previous file. |
| 1078 | |
| 1079 | in current window in new window ~ |
| 1080 | |:argument| :argu[ment] N :sar[gument] N Edit file N |
| 1081 | |:next| :n[ext] :sn[ext] Edit next file |
| 1082 | |:next_f| :n[ext] {arglist} :sn[ext] {arglist} define new arg list |
| 1083 | and edit first file |
| 1084 | |:Next| :N[ext] :sN[ext] Edit previous file |
| 1085 | |:first| :fir[st] :sfir[st] Edit first file |
| 1086 | |:last| :la[st] :sla[st] Edit last file |
| 1087 | ------------------------------------------------------------------------------ |
| 1088 | *Q_wq* Writing and quitting |
| 1089 | |
| 1090 | |:w| :[range]w[rite][!] Write to the current file. |
| 1091 | |:w_f| :[range]w[rite] {file} Write to {file}, unless it already |
| 1092 | exists. |
| 1093 | |:w_f| :[range]w[rite]! {file} Write to {file}. Overwrite an existing |
| 1094 | file. |
| 1095 | |:w_a| :[range]w[rite][!] >> Append to the current file. |
| 1096 | |:w_a| :[range]w[rite][!] >> {file} Append to {file}. |
| 1097 | |:w_c| :[range]w[rite] !{cmd} Execute {cmd} with [range] lines as |
| 1098 | standard input. |
| 1099 | |:up| :[range]up[date][!] write to current file if modified |
| 1100 | |:wall| :wa[ll][!] write all changed buffers |
| 1101 | |
| 1102 | |:q| :q[uit] Quit current buffer, unless changes have been |
| 1103 | made. Exit Vim when there are no other |
| 1104 | non-help buffers |
| 1105 | |:q| :q[uit]! Quit current buffer always, discard any |
| 1106 | changes. Exit Vim when there are no other |
| 1107 | non-help buffers |
| 1108 | |:qa| :qa[ll] Exit Vim, unless changes have been made. |
| 1109 | |:qa| :qa[ll]! Exit Vim always, discard any changes. |
| 1110 | |:cq| :cq Quit without writing and return error code. |
| 1111 | |
| 1112 | |:wq| :wq[!] Write the current file and exit. |
| 1113 | |:wq| :wq[!] {file} Write to {file} and exit. |
| 1114 | |:xit| :x[it][!] [file] Like ":wq" but write only when changes have |
| 1115 | been made |
| 1116 | |ZZ| ZZ Same as ":x". |
| 1117 | |ZQ| ZQ Same as ":q!". |
| 1118 | |:xall| :xa[ll][!] or :wqall[!] |
| 1119 | Write all changed buffers and exit |
| 1120 | |
| 1121 | |:stop| :st[op][!] Suspend VIM or start new shell. If 'aw' option |
| 1122 | is set and [!] not given write the buffer. |
| 1123 | |CTRL-Z| CTRL-Z Same as ":stop" |
| 1124 | ------------------------------------------------------------------------------ |
| 1125 | *Q_st* Starting VIM |
| 1126 | |
| 1127 | |-vim| vim [options] start editing with an empty buffer |
| 1128 | |-file| vim [options] {file} .. start editing one or more files |
| 1129 | |--| vim [options] - read file from stdin |
| 1130 | |-tag| vim [options] -t {tag} edit the file associated with {tag} |
| 1131 | |-qf| vim [options] -q [fname] start editing in QuickFix mode, |
| 1132 | display the first error |
| 1133 | |
| 1134 | Vim arguments: |
| 1135 | |
| 1136 | |-gui| -g start GUI (also allows other options) |
| 1137 | |
| 1138 | |-+| +[num] put the cursor at line [num] (default: last line) |
| 1139 | |-+c| +{command} execute {command} after loading the file |
| 1140 | |-+/| +/{pat} {file} .. put the cursor at the first occurrence of {pat} |
| 1141 | |-v| -v Vi mode, start ex in Normal mode |
| 1142 | |-e| -e Ex mode, start vim in Ex mode |
| 1143 | |-R| -R Read-only mode, implies -n |
| 1144 | |-m| -m modifications not allowed (resets 'write' option) |
| 1145 | |-b| -b binary mode |
| 1146 | |-l| -l lisp mode |
| 1147 | |-A| -A Arabic mode ('arabic' is set) |
| 1148 | |-F| -F Farsi mode ('fkmap' and 'rightleft' are set) |
| 1149 | |-H| -H Hebrew mode ('hkmap' and 'rightleft' are set) |
| 1150 | |-V| -V Verbose, give informative messages |
| 1151 | |-C| -C Compatible, set the 'compatible' option |
| 1152 | |-N| -N Nocompatible, reset the 'compatible' option |
| 1153 | |-r| -r give list of swap files |
| 1154 | |-r| -r {file} .. recover aborted edit session |
| 1155 | |-n| -n do not create a swap file |
| 1156 | |-o| -o [num] open [num] windows (default: one for each file) |
| 1157 | |-f| -f GUI: foreground process, don't fork |
| 1158 | Amiga: do not restart VIM to open a window (for |
| 1159 | e.g., mail) |
| 1160 | |-s| -s {scriptin} first read commands from the file {scriptin} |
| 1161 | |-w| -w {scriptout} write typed chars to file {scriptout} (append) |
| 1162 | |-W| -W {scriptout} write typed chars to file {scriptout} (overwrite) |
| 1163 | |-T| -T {terminal} set terminal name |
| 1164 | |-d| -d {device} Amiga: open {device} to be used as a console |
| 1165 | |-u| -u {vimrc} read inits from {vimrc} instead of other inits |
| 1166 | |-U| -U {gvimrc} idem, for when starting the GUI |
| 1167 | |-i| -i {viminfo} read info from {viminfo} instead of other files |
| 1168 | |---| -- end of options, other arguments are file names |
| 1169 | |--help| --help show list of arguments and exit |
| 1170 | |--version| --version show version info and exit |
| 1171 | |--| - Read file from stdin. |
| 1172 | ------------------------------------------------------------------------------ |
| 1173 | *Q_ac* Automatic Commands |
| 1174 | |
| 1175 | |viminfo-file| Read registers, marks, history at startup, save when exiting. |
| 1176 | |
| 1177 | |:rviminfo| :rv[iminfo] [file] Read info from viminfo file [file] |
| 1178 | |:rviminfo| :rv[iminfo]! [file] idem, overwrite existing info |
| 1179 | |:wviminfo| :wv[iminfo] [file] Add info to viminfo file [file] |
| 1180 | |:wviminfo| :wv[iminfo]! [file] Write info to viminfo file [file] |
| 1181 | |
| 1182 | |modeline| Automatic option setting when editing a file |
| 1183 | |
| 1184 | |modeline| vim:{set-arg}: .. In the first and last lines of the |
| 1185 | file (see 'ml' option), {set-arg} is |
| 1186 | given as an argument to ":set" |
| 1187 | |
| 1188 | |autocommand| Automatic execution of commands on certain events. |
| 1189 | |
| 1190 | |:autocmd| :au List all autocommands |
| 1191 | |:autocmd| :au {event} List all autocommands for {event} |
| 1192 | |:autocmd| :au {event} {pat} List all autocommands for {event} with |
| 1193 | {pat} |
| 1194 | |:autocmd| :au {event} {pat} {cmd} Enter new autocommands for {event} |
| 1195 | with {pat} |
| 1196 | |:autocmd| :au! Remove all autocommands |
| 1197 | |:autocmd| :au! {event} Remove all autocommands for {event} |
| 1198 | |:autocmd| :au! * {pat} Remove all autocommands for {pat} |
| 1199 | |:autocmd| :au! {event} {pat} Remove all autocommands for {event} |
| 1200 | with {pat} |
| 1201 | |:autocmd| :au! {event} {pat} {cmd} Remove all autocommands for {event} |
| 1202 | with {pat} and enter new one |
| 1203 | ------------------------------------------------------------------------------ |
| 1204 | *Q_wi* Multi-window commands |
| 1205 | |
| 1206 | |CTRL-W_s| CTRL-W s or :split Split window into two parts |
| 1207 | |:split_f| :split {file} Split window and edit {file} in one of |
| 1208 | them |
| 1209 | |:vsplit| :vsplit {file} Same, but split vertically |
| 1210 | |:vertical| :vertical {cmd} Make {cmd} split vertically |
| 1211 | |
| 1212 | |:sfind| :sf[ind] {file} Split window, find {file} in 'path' |
| 1213 | and edit it. |
| 1214 | |CTRL-W_]| CTRL-W ] Split window and jump to tag under |
| 1215 | cursor |
| 1216 | |CTRL-W_f| CTRL-W f Split window and edit file name under |
| 1217 | the cursor |
| 1218 | |CTRL-W_^| CTRL-W ^ Split window and edit alternate file |
| 1219 | |CTRL-W_n| CTRL-W n or :new Create new empty window |
| 1220 | |CTRL-W_q| CTRL-W q or :q[uit] Quit editing and close window |
| 1221 | |CTRL-W_c| CTRL-W c or :cl[ose] Make buffer hidden and close window |
| 1222 | |CTRL-W_o| CTRL-W o or :on[ly] Make current window only one on the |
| 1223 | screen |
| 1224 | |
| 1225 | |CTRL-W_j| CTRL-W j Move cursor to window below |
| 1226 | |CTRL-W_k| CTRL-W k Move cursor to window above |
| 1227 | |CTRL-W_CTRL-W| CTRL-W CTRL-W Move cursor to window below (wrap) |
| 1228 | |CTRL-W_W| CTRL-W W Move cursor to window above (wrap) |
| 1229 | |CTRL-W_t| CTRL-W t Move cursor to top window |
| 1230 | |CTRL-W_b| CTRL-W b Move cursor to bottom window |
| 1231 | |CTRL-W_p| CTRL-W p Move cursor to previous active window |
| 1232 | |
| 1233 | |CTRL-W_r| CTRL-W r Rotate windows downwards |
| 1234 | |CTRL-W_R| CTRL-W R Rotate windows upwards |
| 1235 | |CTRL-W_x| CTRL-W x Exchange current window with next one |
| 1236 | |
| 1237 | |CTRL-W_=| CTRL-W = Make all windows equal height |
| 1238 | |CTRL-W_-| CTRL-W - Decrease current window height |
| 1239 | |CTRL-W_+| CTRL-W + Increase current window height |
| 1240 | |CTRL-W__| CTRL-W _ Set current window height (default: |
| 1241 | very high) |
| 1242 | ------------------------------------------------------------------------------ |
| 1243 | *Q_bu* Buffer list commands |
| 1244 | |
| 1245 | |:buffers| :buffers or :files list all known buffer and file names |
| 1246 | |
| 1247 | |:ball| :ball or :sball edit all args/buffers |
| 1248 | |:unhide| :unhide or :sunhide edit all loaded buffers |
| 1249 | |
| 1250 | |:badd| :badd {fname} add file name {fname} to the list |
| 1251 | |:bunload| :bunload[!] [N] unload buffer [N] from memory |
| 1252 | |:bdelete| :bdelete[!] [N] unload buffer [N] and delete it from |
| 1253 | the buffer list |
| 1254 | |
| 1255 | in current window in new window ~ |
| 1256 | |:buffer| :[N]buffer [N] :[N]sbuffer [N] to arg/buf N |
| 1257 | |:bnext| :[N]bnext [N] :[N]sbnext [N] to Nth next arg/buf |
| 1258 | |:bNext| :[N]bNext [N] :[N]sbNext [N] to Nth previous arg/buf |
| 1259 | |:bprevious| :[N]bprevious [N] :[N]sbprevious [N] to Nth previous arg/buf |
| 1260 | |:bfirst| :bfirst :sbfirst to first arg/buf |
| 1261 | |:blast| :blast :sblast to last arg/buf |
| 1262 | |:bmodified| :[N]bmod [N] :[N]sbmod [N] to Nth modified buf |
| 1263 | ------------------------------------------------------------------------------ |
| 1264 | *Q_sy* Syntax Highlighting |
| 1265 | |
| 1266 | |:syn-on| :syntax on start using syntax highlighting |
| 1267 | |:syn-off| :syntax off stop using syntax highlighting |
| 1268 | |
| 1269 | |:syn-keyword| :syntax keyword {group-name} {keyword} .. |
| 1270 | add a syntax keyword item |
| 1271 | |:syn-match| :syntax match {group-name} {pattern} ... |
| 1272 | add syntax match item |
| 1273 | |:syn-region| :syntax region {group-name} {pattern} ... |
| 1274 | add syntax region item |
| 1275 | |:syn-sync| :syntax sync [ccomment | lines {N} | ...] |
| 1276 | tell syntax how to sync |
| 1277 | |:syntax| :syntax [list] list current syntax items |
| 1278 | |:syn-clear| :syntax clear clear all syntax info |
| 1279 | |
| 1280 | |:highlight| :highlight clear clear all highlight info |
| 1281 | |:highlight| :highlight {group-name} {key}={arg} .. |
| 1282 | set highlighting for {group-name} |
| 1283 | |
| 1284 | |:filetype| :filetype on switch on file type detection, without |
| 1285 | syntax highlighting |
| 1286 | |:filetype| :filetype plugin indent on |
| 1287 | switch on file type detection, with |
| 1288 | automatic indenting and settings |
| 1289 | ------------------------------------------------------------------------------ |
| 1290 | *Q_gu* GUI commands |
| 1291 | |
| 1292 | |:gui| :gui UNIX: start the GUI |
| 1293 | |:gui| :gui {fname} .. idem, and edit {fname} .. |
| 1294 | |
| 1295 | |:menu| :menu list all menus |
| 1296 | |:menu| :menu {mpath} list menus starting with {mpath} |
| 1297 | |:menu| :menu {mpath} {rhs} add menu {mpath}, giving {lhs} |
| 1298 | |:menu| :menu {pri} {mpath} {rhs} |
| 1299 | idem, with priorities {pri} |
| 1300 | |:menu| :menu ToolBar.{name} {rhs} |
| 1301 | add toolbar item, giving {lhs} |
| 1302 | |:tmenu| :tmenu {mpath} {text} add tooltip to menu {mpath} |
| 1303 | |:unmenu| :unmenu {mpath} remove menu {mpath} |
| 1304 | ------------------------------------------------------------------------------ |
| 1305 | *Q_fo* Folding |
| 1306 | |
| 1307 | |'foldmethod'| set foldmethod=manual manual folding |
| 1308 | set foldmethod=indent folding by indent |
| 1309 | set foldmethod=expr folding by 'foldexpr' |
| 1310 | set foldmethod=syntax folding by syntax regions |
| 1311 | set foldmethod=marker folding by 'foldmarkers' |
| 1312 | |
| 1313 | |zf| zf{motion} operator: Define a fold manually |
| 1314 | |:fold| :{range}fold define a fold for {range} lines |
| 1315 | |zd| zd delete one fold under the cursor |
| 1316 | |zD| zD delete all folds under the cursor |
| 1317 | |
| 1318 | |zo| zo open one fold under the cursor |
| 1319 | |zO| zO open all folds under the cursor |
| 1320 | |zc| zc close one fold under the cursor |
| 1321 | |zC| zC close all folds under the cursor |
| 1322 | |
| 1323 | |zm| zm fold more: decrease 'foldlevel' |
| 1324 | |zM| zM close all folds: make 'foldlevel' zero |
| 1325 | |zr| zr reduce folding: increase 'foldlevel' |
| 1326 | |zR| zR open all folds: make 'foldlevel' max. |
| 1327 | |
| 1328 | |zn| zn fold none: reset 'foldenable' |
| 1329 | |zN| zN fold normal set 'foldenable' |
| 1330 | |zi| zi invert 'foldenable' |
| 1331 | |
| 1332 | vim:tw=78:ts=8:ft=help:norl: |