Bram Moolenaar | 451f849 | 2016-04-14 17:16:22 +0200 | [diff] [blame] | 1 | *message.txt* For Vim version 7.4. Last change: 2016 Apr 14 |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 2 | |
| 3 | |
| 4 | VIM REFERENCE MANUAL by Bram Moolenaar |
| 5 | |
| 6 | |
| 7 | This file contains an alphabetical list of messages and error messages that |
| 8 | Vim produces. You can use this if you don't understand what the message |
| 9 | means. It is not complete though. |
| 10 | |
| 11 | 1. Old messages |:messages| |
| 12 | 2. Error messages |error-messages| |
| 13 | 3. Messages |messages| |
| 14 | |
| 15 | ============================================================================== |
| 16 | 1. Old messages *:messages* *:mes* *message-history* |
| 17 | |
| 18 | The ":messages" command can be used to view previously given messages. This |
| 19 | is especially useful when messages have been overwritten or truncated. This |
| 20 | depends on the 'shortmess' option. |
| 21 | |
Bram Moolenaar | 451f849 | 2016-04-14 17:16:22 +0200 | [diff] [blame] | 22 | :messages Show all messages. |
| 23 | |
| 24 | :{count}messages Show the {count} most recent messages. |
| 25 | |
| 26 | :messages clear Clear all messages. |
| 27 | |
| 28 | :{count}messages clear Clear messages, keeping only the {count} most |
| 29 | recent ones. |
| 30 | |
Bram Moolenaar | 6773b2b | 2010-05-30 16:01:37 +0200 | [diff] [blame] | 31 | The number of remembered messages is fixed at 20 for the tiny version and 200 |
Bram Moolenaar | 4770d09 | 2006-01-12 23:22:24 +0000 | [diff] [blame] | 32 | for other versions. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 33 | |
Bram Moolenaar | cfc7d63 | 2005-07-28 22:28:16 +0000 | [diff] [blame] | 34 | *g<* |
| 35 | The "g<" command can be used to see the last page of previous command output. |
Bram Moolenaar | 1e01546 | 2005-09-25 22:16:38 +0000 | [diff] [blame] | 36 | This is especially useful if you accidentally typed <Space> at the hit-enter |
Bram Moolenaar | dd2a3cd | 2007-05-05 17:10:09 +0000 | [diff] [blame] | 37 | prompt. You are then back at the hit-enter prompt and can then scroll further |
| 38 | back. |
Bram Moolenaar | 446beb4 | 2011-05-10 17:18:44 +0200 | [diff] [blame] | 39 | Note: If the output has been stopped with "q" at the more prompt, it will only |
| 40 | be displayed up to this point. |
Bram Moolenaar | cfc7d63 | 2005-07-28 22:28:16 +0000 | [diff] [blame] | 41 | The previous command output is cleared when another command produces output. |
| 42 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 43 | If you are using translated messages, the first printed line tells who |
| 44 | maintains the messages or the translations. You can use this to contact the |
| 45 | maintainer when you spot a mistake. |
| 46 | |
| 47 | If you want to find help on a specific (error) message, use the ID at the |
| 48 | start of the message. For example, to get help on the message: > |
| 49 | |
| 50 | E72: Close error on swap file |
| 51 | |
| 52 | or (translated): > |
| 53 | |
| 54 | E72: Errore durante chiusura swap file |
| 55 | |
| 56 | Use: > |
| 57 | |
| 58 | :help E72 |
| 59 | |
| 60 | If you are lazy, it also works without the shift key: > |
| 61 | |
| 62 | :help e72 |
| 63 | |
| 64 | ============================================================================== |
Bram Moolenaar | f233048 | 2008-06-24 20:19:36 +0000 | [diff] [blame] | 65 | 2. Error messages *error-messages* *errors* |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 66 | |
| 67 | When an error message is displayed, but it is removed before you could read |
| 68 | it, you can see it again with: > |
| 69 | :echo errmsg |
Bram Moolenaar | 451f849 | 2016-04-14 17:16:22 +0200 | [diff] [blame] | 70 | Or view a list of recent messages with: > |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 71 | :messages |
Bram Moolenaar | 451f849 | 2016-04-14 17:16:22 +0200 | [diff] [blame] | 72 | See `:messages` above. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 73 | |
| 74 | |
| 75 | LIST OF MESSAGES |
| 76 | *E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317* |
| 77 | *E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322* |
Bram Moolenaar | 24ea3ba | 2010-09-19 19:01:21 +0200 | [diff] [blame] | 78 | *E323* *E341* *E473* *E570* *E685* > |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 79 | Add to read buffer |
| 80 | makemap: Illegal mode |
| 81 | Cannot create BalloonEval with both message and callback |
| 82 | Hangul automata ERROR |
| 83 | block was not locked |
| 84 | Didn't get block nr {N}? |
Bram Moolenaar | 5e3dae8 | 2010-03-02 16:19:40 +0100 | [diff] [blame] | 85 | ml_upd_block0(): Didn't get block 0?? |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 86 | pointer block id wrong {N} |
| 87 | Updated too many blocks? |
| 88 | get_varp ERROR |
| 89 | u_undo: line numbers wrong |
| 90 | undo list corrupt |
| 91 | undo line missing |
| 92 | ml_get: cannot find line {N} |
| 93 | cannot find line {N} |
| 94 | line number out of range: {N} past the end |
| 95 | line count wrong in block {N} |
| 96 | Internal error |
Bram Moolenaar | cf3630f | 2005-01-08 16:04:29 +0000 | [diff] [blame] | 97 | Internal error: {function} |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 98 | fatal error in cs_manage_matches |
| 99 | |
| 100 | This is an internal error. If you can reproduce it, please send in a bug |
| 101 | report. |bugs| |
| 102 | |
| 103 | > |
| 104 | ATTENTION |
| 105 | Found a swap file by the name ... |
| 106 | |
| 107 | See |ATTENTION|. |
| 108 | |
| 109 | *E92* > |
| 110 | Buffer {N} not found |
| 111 | |
| 112 | The buffer you requested does not exist. This can also happen when you have |
| 113 | wiped out a buffer which contains a mark or is referenced in another way. |
| 114 | |:bwipeout| |
| 115 | |
| 116 | *E95* > |
| 117 | Buffer with this name already exists |
| 118 | |
| 119 | You cannot have two buffers with the same name. |
| 120 | |
| 121 | *E72* > |
| 122 | Close error on swap file |
| 123 | |
| 124 | The |swap-file|, that is used to keep a copy of the edited text, could not be |
| 125 | closed properly. Mostly harmless. |
| 126 | |
| 127 | *E169* > |
| 128 | Command too recursive |
| 129 | |
| 130 | This happens when an Ex command executes an Ex command that executes an Ex |
| 131 | command, etc. This is only allowed 200 times. When it's more there probably |
| 132 | is an endless loop. Probably a |:execute| or |:source| command is involved. |
| 133 | |
| 134 | *E254* > |
| 135 | Cannot allocate color {name} |
| 136 | |
| 137 | The color name {name} is unknown. See |gui-colors| for a list of colors that |
| 138 | are available on most systems. |
| 139 | |
| 140 | *E458* > |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 141 | Cannot allocate colormap entry, some colors may be incorrect |
| 142 | |
| 143 | This means that there are not enough colors available for Vim. It will still |
| 144 | run, but some of the colors will not appear in the specified color. Try |
| 145 | stopping other applications that use many colors, or start them after starting |
| 146 | gvim. |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 147 | Browsers are known to consume a lot of colors. You can avoid this with |
| 148 | netscape by telling it to use its own colormap: > |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 149 | netscape -install |
| 150 | Or tell it to limit to a certain number of colors (64 should work well): > |
| 151 | netscape -ncols 64 |
| 152 | This can also be done with a line in your Xdefaults file: > |
| 153 | Netscape*installColormap: Yes |
| 154 | or > |
| 155 | Netscape*maxImageColors: 64 |
| 156 | < |
| 157 | *E79* > |
| 158 | Cannot expand wildcards |
| 159 | |
| 160 | A filename contains a strange combination of characters, which causes Vim to |
| 161 | attempt expanding wildcards but this fails. This does NOT mean that no |
| 162 | matching file names could be found, but that the pattern was illegal. |
| 163 | |
| 164 | *E459* > |
| 165 | Cannot go back to previous directory |
| 166 | |
| 167 | While expanding a file name, Vim failed to go back to the previously used |
| 168 | directory. All file names being used may be invalid now! You need to have |
| 169 | execute permission on the current directory. |
| 170 | |
| 171 | *E190* *E212* > |
| 172 | Cannot open "{filename}" for writing |
| 173 | Can't open file for writing |
| 174 | |
| 175 | For some reason the file you are writing to cannot be created or overwritten. |
| 176 | The reason could be that you do not have permission to write in the directory |
| 177 | or the file name is not valid. |
| 178 | |
| 179 | *E166* > |
| 180 | Can't open linked file for writing |
| 181 | |
| 182 | You are trying to write to a file which can't be overwritten, and the file is |
| 183 | a link (either a hard link or a symbolic link). Writing might still be |
| 184 | possible if the directory that contains the link or the file is writable, but |
| 185 | Vim now doesn't know if you want to delete the link and write the file in its |
| 186 | place, or if you want to delete the file itself and write the new file in its |
| 187 | place. If you really want to write the file under this name, you have to |
| 188 | manually delete the link or the file, or change the permissions so that Vim |
| 189 | can overwrite. |
| 190 | |
| 191 | *E46* > |
Bram Moolenaar | 5e3dae8 | 2010-03-02 16:19:40 +0100 | [diff] [blame] | 192 | Cannot change read-only variable "{name}" |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 193 | |
| 194 | You are trying to assign a value to an argument of a function |a:var| or a Vim |
| 195 | internal variable |v:var| which is read-only. |
| 196 | |
| 197 | *E90* > |
| 198 | Cannot unload last buffer |
| 199 | |
| 200 | Vim always requires one buffer to be loaded, otherwise there would be nothing |
| 201 | to display in the window. |
| 202 | |
| 203 | *E40* > |
| 204 | Can't open errorfile <filename> |
| 205 | |
| 206 | When using the ":make" or ":grep" commands: The file used to save the error |
| 207 | messages or grep output cannot be opened. This can have several causes: |
| 208 | - 'shellredir' has a wrong value. |
| 209 | - The shell changes directory, causing the error file to be written in another |
| 210 | directory. This could be fixed by changing 'makeef', but then the make |
| 211 | command is still executed in the wrong directory. |
| 212 | - 'makeef' has a wrong value. |
| 213 | - The 'grepprg' or 'makeprg' could not be executed. This cannot always be |
| 214 | detected (especially on MS-Windows). Check your $PATH. |
| 215 | |
| 216 | > |
| 217 | Can't open file C:\TEMP\VIoD243.TMP |
| 218 | |
| 219 | On MS-Windows, this message appears when the output of an external command was |
| 220 | to be read, but the command didn't run successfully. This can be caused by |
| 221 | many things. Check the 'shell', 'shellquote', 'shellxquote', 'shellslash' and |
| 222 | related options. It might also be that the external command was not found, |
| 223 | there is no different error message for that. |
| 224 | |
| 225 | *E12* > |
| 226 | Command not allowed from exrc/vimrc in current dir or tag search |
| 227 | |
| 228 | Some commands are not allowed for security reasons. These commands mostly |
| 229 | come from a .exrc or .vimrc file in the current directory, or from a tags |
| 230 | file. Also see 'secure'. |
| 231 | |
| 232 | *E74* > |
| 233 | Command too complex |
| 234 | |
| 235 | A mapping resulted in a very long command string. Could be caused by a |
| 236 | mapping that indirectly calls itself. |
| 237 | |
| 238 | > |
| 239 | CONVERSION ERROR |
| 240 | |
| 241 | When writing a file and the text "CONVERSION ERROR" appears, this means that |
| 242 | some bits were lost when converting text from the internally used UTF-8 to the |
| 243 | format of the file. The file will not be marked unmodified. If you care |
| 244 | about the loss of information, set the 'fileencoding' option to another value |
| 245 | that can handle the characters in the buffer and write again. If you don't |
| 246 | care, you can abandon the buffer or reset the 'modified' option. |
| 247 | |
| 248 | *E302* > |
| 249 | Could not rename swap file |
| 250 | |
| 251 | When the file name changes, Vim tries to rename the |swap-file| as well. |
| 252 | This failed and the old swap file is now still used. Mostly harmless. |
| 253 | |
| 254 | *E43* *E44* > |
| 255 | Damaged match string |
| 256 | Corrupted regexp program |
| 257 | |
| 258 | Something inside Vim went wrong and resulted in a corrupted regexp. If you |
| 259 | know how to reproduce this problem, please report it. |bugs| |
| 260 | |
| 261 | *E208* *E209* *E210* > |
| 262 | Error writing to "{filename}" |
| 263 | Error closing "{filename}" |
| 264 | Error reading "{filename}" |
| 265 | |
| 266 | This occurs when Vim is trying to rename a file, but a simple change of file |
| 267 | name doesn't work. Then the file will be copied, but somehow this failed. |
| 268 | The result may be that both the original file and the destination file exist |
| 269 | and the destination file may be incomplete. |
| 270 | |
| 271 | > |
| 272 | Vim: Error reading input, exiting... |
| 273 | |
| 274 | This occurs when Vim cannot read typed characters while input is required. |
| 275 | Vim got stuck, the only thing it can do is exit. This can happen when both |
| 276 | stdin and stderr are redirected and executing a script that doesn't exit Vim. |
| 277 | |
| 278 | *E47* > |
| 279 | Error while reading errorfile |
| 280 | |
| 281 | Reading the error file was not possible. This is NOT caused by an error |
| 282 | message that was not recognized. |
| 283 | |
| 284 | *E80* > |
| 285 | Error while writing |
| 286 | |
| 287 | Writing a file was not completed successfully. The file is probably |
| 288 | incomplete. |
| 289 | |
| 290 | *E13* *E189* > |
Bram Moolenaar | 5e3dae8 | 2010-03-02 16:19:40 +0100 | [diff] [blame] | 291 | File exists (add ! to override) |
| 292 | "{filename}" exists (add ! to override) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 293 | |
| 294 | You are protected from accidentally overwriting a file. When you want to |
| 295 | write anyway, use the same command, but add a "!" just after the command. |
| 296 | Example: > |
| 297 | :w /tmp/test |
| 298 | changes to: > |
| 299 | :w! /tmp/test |
| 300 | < |
Bram Moolenaar | ecf07c8 | 2005-08-01 21:52:12 +0000 | [diff] [blame] | 301 | *E768* > |
| 302 | Swap file exists: {filename} (:silent! overrides) |
| 303 | |
| 304 | You are protected from overwriting a file that is being edited by Vim. This |
| 305 | happens when you use ":w! filename" and a swapfile is found. |
| 306 | - If the swapfile was left over from an old crashed edit session you may want |
| 307 | to delete the swapfile. Edit {filename} to find out information about the |
| 308 | swapfile. |
| 309 | - If you want to write anyway prepend ":silent!" to the command. For example: > |
Bram Moolenaar | c9b4b05 | 2006-04-30 18:54:39 +0000 | [diff] [blame] | 310 | :silent! w! /tmp/test |
Bram Moolenaar | ecf07c8 | 2005-08-01 21:52:12 +0000 | [diff] [blame] | 311 | < The special command is needed, since you already added the ! for overwriting |
| 312 | an existing file. |
| 313 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 314 | *E139* > |
| 315 | File is loaded in another buffer |
| 316 | |
| 317 | You are trying to write a file under a name which is also used in another |
| 318 | buffer. This would result in two versions of the same file. |
| 319 | |
| 320 | *E142* > |
| 321 | File not written: Writing is disabled by 'write' option |
| 322 | |
| 323 | The 'write' option is off. This makes all commands that try to write a file |
| 324 | generate this message. This could be caused by a |-m| commandline argument. |
| 325 | You can switch the 'write' option on with ":set write". |
| 326 | |
| 327 | *E25* > |
| 328 | GUI cannot be used: Not enabled at compile time |
| 329 | |
| 330 | You are running a version of Vim that doesn't include the GUI code. Therefore |
| 331 | "gvim" and ":gui" don't work. |
| 332 | |
| 333 | *E49* > |
| 334 | Invalid scroll size |
| 335 | |
| 336 | This is caused by setting an invalid value for the 'scroll', 'scrolljump' or |
| 337 | 'scrolloff' options. |
| 338 | |
| 339 | *E17* > |
| 340 | "{filename}" is a directory |
| 341 | |
| 342 | You tried to write a file with the name of a directory. This is not possible. |
| 343 | You probably need to append a file name. |
| 344 | |
| 345 | *E19* > |
| 346 | Mark has invalid line number |
| 347 | |
| 348 | You are using a mark that has a line number that doesn't exist. This can |
| 349 | happen when you have a mark in another file, and some other program has |
| 350 | deleted lines from it. |
| 351 | |
| 352 | *E219* *E220* > |
| 353 | Missing {. |
| 354 | Missing }. |
| 355 | |
| 356 | Using a {} construct in a file name, but there is a { without a matching } or |
| 357 | the other way around. It should be used like this: {foo,bar}. This matches |
| 358 | "foo" and "bar". |
| 359 | |
| 360 | *E315* > |
Bram Moolenaar | 5e3dae8 | 2010-03-02 16:19:40 +0100 | [diff] [blame] | 361 | ml_get: invalid lnum: {number} |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 362 | |
| 363 | This is an internal Vim error. Please try to find out how it can be |
| 364 | reproduced, and submit a bug report |bugreport.vim|. |
| 365 | |
| 366 | *E173* > |
| 367 | {number} more files to edit |
| 368 | |
| 369 | You are trying to exit, while the last item in the argument list has not been |
| 370 | edited. This protects you from accidentally exiting when you still have more |
| 371 | files to work on. See |argument-list|. If you do want to exit, just do it |
| 372 | again and it will work. |
| 373 | |
| 374 | *E23* *E194* > |
| 375 | No alternate file |
| 376 | No alternate file name to substitute for '#' |
| 377 | |
| 378 | The alternate file is not defined yet. See |alternate-file|. |
| 379 | |
| 380 | *E32* > |
| 381 | No file name |
| 382 | |
| 383 | The current buffer has no name. To write it, use ":w fname". Or give the |
| 384 | buffer a name with ":file fname". |
| 385 | |
| 386 | *E141* > |
| 387 | No file name for buffer {number} |
| 388 | |
| 389 | One of the buffers that was changed does not have a file name. Therefore it |
| 390 | cannot be written. You need to give the buffer a file name: > |
| 391 | :buffer {number} |
| 392 | :file {filename} |
| 393 | < |
| 394 | *E33* > |
| 395 | No previous substitute regular expression |
| 396 | |
| 397 | When using the '~' character in a pattern, it is replaced with the previously |
| 398 | used pattern in a ":substitute" command. This fails when no such command has |
Bram Moolenaar | df177f6 | 2005-02-22 08:39:57 +0000 | [diff] [blame] | 399 | been used yet. See |/~|. This also happens when using ":s/pat/%/", where the |
| 400 | "%" stands for the previous substitute string. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 401 | |
| 402 | *E35* > |
| 403 | No previous regular expression |
| 404 | |
| 405 | When using an empty search pattern, the previous search pattern is used. But |
| 406 | that is not possible if there was no previous search. |
| 407 | |
| 408 | *E24* > |
| 409 | No such abbreviation |
| 410 | |
| 411 | You have used an ":unabbreviate" command with an argument which is not an |
| 412 | existing abbreviation. All variations of this command give the same message: |
| 413 | ":cunabbrev", ":iunabbrev", etc. Check for trailing white space. |
| 414 | |
| 415 | > |
| 416 | /dev/dsp: No such file or directory |
| 417 | |
| 418 | Only given for GTK GUI with Gnome support. Gnome tries to use the audio |
| 419 | device and it isn't present. You can ignore this error. |
| 420 | |
| 421 | *E31* > |
| 422 | No such mapping |
| 423 | |
| 424 | You have used an ":unmap" command with an argument which is not an existing |
| 425 | mapping. All variations of this command give the same message: ":cunmap", |
Bram Moolenaar | 4c3f536 | 2006-04-11 21:38:50 +0000 | [diff] [blame] | 426 | ":unmap!", etc. A few hints: |
| 427 | - Check for trailing white space. |
| 428 | - If the mapping is buffer-local you need to use ":unmap <buffer>". |
| 429 | |:map-<buffer>| |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 430 | |
| 431 | *E37* *E89* > |
Bram Moolenaar | 5e3dae8 | 2010-03-02 16:19:40 +0100 | [diff] [blame] | 432 | No write since last change (add ! to override) |
| 433 | No write since last change for buffer {N} (add ! to override) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 434 | |
| 435 | You are trying to |abandon| a file that has changes. Vim protects you from |
| 436 | losing your work. You can either write the changed file with ":w", or, if you |
| 437 | are sure, |abandon| it anyway, and lose all the changes. This can be done by |
| 438 | adding a '!' character just after the command you used. Example: > |
| 439 | :e other_file |
| 440 | changes to: > |
| 441 | :e! other_file |
| 442 | < |
| 443 | *E162* > |
| 444 | No write since last change for buffer "{name}" |
| 445 | |
| 446 | This appears when you try to exit Vim while some buffers are changed. You |
| 447 | will either have to write the changed buffer (with |:w|), or use a command to |
| 448 | abandon the buffer forcefully, e.g., with ":qa!". Careful, make sure you |
| 449 | don't throw away changes you really want to keep. You might have forgotten |
| 450 | about a buffer, especially when 'hidden' is set. |
| 451 | |
Bram Moolenaar | d4755bb | 2004-09-02 19:12:26 +0000 | [diff] [blame] | 452 | > |
| 453 | [No write since last change] |
| 454 | |
| 455 | This appears when executing a shell command while at least one buffer was |
| 456 | changed. To avoid the message reset the 'warn' option. |
| 457 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 458 | *E38* > |
| 459 | Null argument |
| 460 | |
| 461 | Something inside Vim went wrong and resulted in a NULL pointer. If you know |
| 462 | how to reproduce this problem, please report it. |bugs| |
| 463 | |
| 464 | *E172* > |
| 465 | Only one file name allowed |
| 466 | |
| 467 | The ":edit" command only accepts one file name. When you want to specify |
| 468 | several files for editing use ":next" |:next|. |
| 469 | |
| 470 | *E41* *E82* *E83* *E342* > |
| 471 | Out of memory! |
| 472 | Out of memory! (allocating {number} bytes) |
| 473 | Cannot allocate any buffer, exiting... |
| 474 | Cannot allocate buffer, using other one... |
| 475 | |
| 476 | Oh, oh. You must have been doing something complicated, or some other program |
| 477 | is consuming your memory. Be careful! Vim is not completely prepared for an |
| 478 | out-of-memory situation. First make sure that any changes are saved. Then |
| 479 | try to solve the memory shortage. To stay on the safe side, exit Vim and |
Bram Moolenaar | 0ed0eea | 2010-07-26 22:21:27 +0200 | [diff] [blame] | 480 | start again. |
| 481 | |
| 482 | Buffers are only partly kept in memory, thus editing a very large file is |
| 483 | unlikely to cause an out-of-memory situation. Undo information is completely |
| 484 | in memory, you can reduce that with these options: |
| 485 | - 'undolevels' Set to a low value, or to -1 to disable undo completely. This |
| 486 | helps for a change that affects all lines. |
| 487 | - 'undoreload' Set to zero to disable. |
| 488 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 489 | *E339* > |
| 490 | Pattern too long |
| 491 | |
Bram Moolenaar | d58e929 | 2011-02-09 17:07:58 +0100 | [diff] [blame] | 492 | This happens on systems with 16 bit ints: The compiled regexp pattern is |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 493 | longer than about 65000 characters. Try using a shorter pattern. |
Bram Moolenaar | d58e929 | 2011-02-09 17:07:58 +0100 | [diff] [blame] | 494 | It also happens when the offset of a rule doesn't fit in the space available. |
| 495 | Try simplifying the pattern. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 496 | |
| 497 | *E45* > |
Bram Moolenaar | 5e3dae8 | 2010-03-02 16:19:40 +0100 | [diff] [blame] | 498 | 'readonly' option is set (add ! to override) |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 499 | |
| 500 | You are trying to write a file that was marked as read-only. To write the |
| 501 | file anyway, either reset the 'readonly' option, or add a '!' character just |
| 502 | after the command you used. Example: > |
| 503 | :w |
| 504 | changes to: > |
| 505 | :w! |
| 506 | < |
| 507 | *E294* *E295* *E301* > |
| 508 | Read error in swap file |
| 509 | Seek error in swap file read |
| 510 | Oops, lost the swap file!!! |
| 511 | |
| 512 | Vim tried to read text from the |swap-file|, but something went wrong. The |
| 513 | text in the related buffer may now be corrupted! Check carefully before you |
| 514 | write a buffer. You may want to write it in another file and check for |
| 515 | differences. |
| 516 | |
| 517 | *E192* > |
| 518 | Recursive use of :normal too deep |
| 519 | |
| 520 | You are using a ":normal" command, whose argument again uses a ":normal" |
| 521 | command in a recursive way. This is restricted to 'maxmapdepth' levels. This |
| 522 | example illustrates how to get this message: > |
| 523 | :map gq :normal gq<CR> |
| 524 | If you type "gq", it will execute this mapping, which will call "gq" again. |
| 525 | |
| 526 | *E22* > |
| 527 | Scripts nested too deep |
| 528 | |
| 529 | Scripts can be read with the "-s" command-line argument and with the ":source" |
| 530 | command. The script can then again read another script. This can continue |
| 531 | for about 14 levels. When more nesting is done, Vim assumes that there is a |
| 532 | recursive loop somewhere and stops with this error message. |
| 533 | |
| 534 | *E319* > |
| 535 | Sorry, the command is not available in this version |
| 536 | |
| 537 | You have used a command that is not present in the version of Vim you are |
| 538 | using. When compiling Vim, many different features can be enabled or |
| 539 | disabled. This depends on how big Vim has chosen to be and the operating |
| 540 | system. See |+feature-list| for when which feature is available. The |
| 541 | |:version| command shows which feature Vim was compiled with. |
| 542 | |
| 543 | *E300* > |
| 544 | Swap file already exists (symlink attack?) |
| 545 | |
| 546 | This message appears when Vim is trying to open a swap file and finds it |
| 547 | already exists or finds a symbolic link in its place. This shouldn't happen, |
| 548 | because Vim already checked that the file doesn't exist. Either someone else |
| 549 | opened the same file at exactly the same moment (very unlikely) or someone is |
| 550 | attempting a symlink attack (could happen when editing a file in /tmp or when |
| 551 | 'directory' starts with "/tmp", which is a bad choice). |
| 552 | |
| 553 | *E432* > |
| 554 | Tags file not sorted: {file name} |
| 555 | |
| 556 | Vim (and Vi) expect tags files to be sorted in ASCII order. Binary searching |
| 557 | can then be used, which is a lot faster than a linear search. If your tags |
| 558 | files are not properly sorted, reset the |'tagbsearch'| option. |
| 559 | This message is only given when Vim detects a problem when searching for a |
Bram Moolenaar | 7fc0c06 | 2010-08-10 21:43:35 +0200 | [diff] [blame] | 560 | tag. Sometimes this message is not given, even though the tags file is not |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 561 | properly sorted. |
| 562 | |
| 563 | *E460* > |
| 564 | The resource fork would be lost (add ! to override) |
| 565 | |
| 566 | On the Macintosh (classic), when writing a file, Vim attempts to preserve all |
| 567 | info about a file, including its resource fork. If this is not possible you |
| 568 | get this error message. Append "!" to the command name to write anyway (and |
| 569 | lose the info). |
| 570 | |
| 571 | *E424* > |
| 572 | Too many different highlighting attributes in use |
| 573 | |
| 574 | Vim can only handle about 223 different kinds of highlighting. If you run |
| 575 | into this limit, you have used too many |:highlight| commands with different |
| 576 | arguments. A ":highlight link" is not counted. |
| 577 | |
| 578 | *E77* > |
| 579 | Too many file names |
| 580 | |
| 581 | When expanding file names, more than one match was found. Only one match is |
| 582 | allowed for the command that was used. |
| 583 | |
| 584 | *E303* > |
| 585 | Unable to open swap file for "{filename}", recovery impossible |
| 586 | |
| 587 | Vim was not able to create a swap file. You can still edit the file, but if |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 588 | Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 589 | memory when editing a big file. You may want to change the 'directory' option |
| 590 | to avoid this error. See |swap-file|. |
| 591 | |
| 592 | *E140* > |
| 593 | Use ! to write partial buffer |
| 594 | |
| 595 | When using a range to write part of a buffer, it is unusual to overwrite the |
| 596 | original file. It is probably a mistake (e.g., when Visual mode was active |
| 597 | when using ":w"), therefore Vim requires using a ! after the command, e.g.: |
| 598 | ":3,10w!". |
| 599 | > |
| 600 | |
| 601 | Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type |
| 602 | VirtualBinding |
| 603 | |
| 604 | Messages like this appear when starting up. This is not a Vim problem, your |
| 605 | X11 configuration is wrong. You can find a hint on how to solve this here: |
| 606 | http://groups.yahoo.com/group/solarisonintel/message/12179. |
Bram Moolenaar | a17d4c1 | 2010-05-30 18:30:36 +0200 | [diff] [blame] | 607 | [this URL is no longer valid] |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 608 | |
| 609 | *W10* > |
| 610 | Warning: Changing a readonly file |
| 611 | |
| 612 | The file is read-only and you are making a change to it anyway. You can use |
| 613 | the |FileChangedRO| autocommand event to avoid this message (the autocommand |
| 614 | must reset the 'readonly' option). See 'modifiable' to completely disallow |
| 615 | making changes to a file. |
Bram Moolenaar | d5cdbeb | 2005-10-10 20:59:28 +0000 | [diff] [blame] | 616 | This message is only given for the first change after 'readonly' has been set. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 617 | |
| 618 | *W13* > |
| 619 | Warning: File "{filename}" has been created after editing started |
| 620 | |
| 621 | You are editing a file in Vim when it didn't exist, but it does exist now. |
| 622 | You will have to decide if you want to keep the version in Vim or the newly |
| 623 | created file. This message is not given when 'buftype' is not empty. |
| 624 | |
| 625 | *W11* > |
| 626 | Warning: File "{filename}" has changed since editing started |
| 627 | |
| 628 | The file which you have started editing has got another timestamp and the |
| 629 | contents changed (more precisely: When reading the file again with the current |
| 630 | option settings and autocommands you would end up with different text). This |
| 631 | probably means that some other program changed the file. You will have to |
| 632 | find out what happened, and decide which version of the file you want to keep. |
| 633 | Set the 'autoread' option if you want to do this automatically. |
| 634 | This message is not given when 'buftype' is not empty. |
| 635 | |
| 636 | There is one situation where you get this message even though there is nothing |
| 637 | wrong: If you save a file in Windows on the day the daylight saving time |
| 638 | starts. It can be fixed in one of these ways: |
| 639 | - Add this line in your autoexec.bat: > |
| 640 | SET TZ=-1 |
| 641 | < Adjust the "-1" for your time zone. |
| 642 | - Disable "automatically adjust clock for daylight saving changes". |
| 643 | - Just write the file again the next day. Or set your clock to the next day, |
| 644 | write the file twice and set the clock back. |
| 645 | |
| 646 | *W12* > |
| 647 | Warning: File "{filename}" has changed and the buffer was changed in Vim as well |
| 648 | |
| 649 | Like the above, and the buffer for the file was changed in this Vim as well. |
| 650 | You will have to decide if you want to keep the version in this Vim or the one |
| 651 | on disk. This message is not given when 'buftype' is not empty. |
| 652 | |
| 653 | *W16* > |
| 654 | Warning: Mode of file "{filename}" has changed since editing started |
| 655 | |
| 656 | When the timestamp for a buffer was changed and the contents are still the |
| 657 | same but the mode (permissions) have changed. This usually occurs when |
| 658 | checking out a file from a version control system, which causes the read-only |
| 659 | bit to be reset. It should be safe to reload the file. Set 'autoread' to |
| 660 | automatically reload the file. |
| 661 | |
| 662 | *E211* > |
Bram Moolenaar | 5e3dae8 | 2010-03-02 16:19:40 +0100 | [diff] [blame] | 663 | File "{filename}" no longer available |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 664 | |
| 665 | The file which you have started editing has disappeared, or is no longer |
| 666 | accessible. Make sure you write the buffer somewhere to avoid losing |
| 667 | changes. This message is not given when 'buftype' is not empty. |
| 668 | |
| 669 | *W14* > |
| 670 | Warning: List of file names overflow |
| 671 | |
| 672 | You must be using an awful lot of buffers. It's now possible that two buffers |
| 673 | have the same number, which causes various problems. You might want to exit |
| 674 | Vim and restart it. |
| 675 | |
| 676 | *E296* *E297* > |
| 677 | Seek error in swap file write |
| 678 | Write error in swap file |
| 679 | |
| 680 | This mostly happens when the disk is full. Vim could not write text into the |
| 681 | |swap-file|. It's not directly harmful, but when Vim unexpectedly exits some |
| 682 | text may be lost without recovery being possible. Vim might run out of memory |
| 683 | when this problem persists. |
| 684 | |
| 685 | *connection-refused* > |
| 686 | Xlib: connection to "<machine-name:0.0" refused by server |
| 687 | |
| 688 | This happens when Vim tries to connect to the X server, but the X server does |
| 689 | not allow a connection. The connection to the X server is needed to be able |
| 690 | to restore the title and for the xterm clipboard support. Unfortunately this |
| 691 | error message cannot be avoided, except by disabling the |+xterm_clipboard| |
| 692 | and |+X11| features. |
| 693 | |
| 694 | *E10* > |
| 695 | \\ should be followed by /, ? or & |
| 696 | |
| 697 | A command line started with a backslash or the range of a command contained a |
| 698 | backslash in a wrong place. This is often caused by command-line continuation |
| 699 | being disabled. Remove the 'C' flag from the 'cpoptions' option to enable it. |
Bram Moolenaar | 5eb86f9 | 2004-07-26 12:53:41 +0000 | [diff] [blame] | 700 | Or use ":set nocp". |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 701 | |
| 702 | *E471* > |
| 703 | Argument required |
| 704 | |
| 705 | This happens when an Ex command with mandatory argument(s) was executed, but |
| 706 | no argument has been specified. |
| 707 | |
| 708 | *E474* *E475* > |
| 709 | Invalid argument |
Bram Moolenaar | 5e3dae8 | 2010-03-02 16:19:40 +0100 | [diff] [blame] | 710 | Invalid argument: {arg} |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 711 | |
| 712 | An Ex command has been executed, but an invalid argument has been specified. |
| 713 | |
| 714 | *E488* > |
| 715 | Trailing characters |
| 716 | |
| 717 | An argument has been added to an Ex command that does not permit one. |
| 718 | |
| 719 | *E477* *E478* > |
| 720 | No ! allowed |
| 721 | Don't panic! |
| 722 | |
| 723 | You have added a "!" after an Ex command that doesn't permit one. |
| 724 | |
| 725 | *E481* > |
| 726 | No range allowed |
| 727 | |
| 728 | A range was specified for an Ex command that doesn't permit one. See |
| 729 | |cmdline-ranges|. |
| 730 | |
| 731 | *E482* *E483* > |
| 732 | Can't create file {filename} |
| 733 | Can't get temp file name |
| 734 | |
| 735 | Vim cannot create a temporary file. |
| 736 | |
| 737 | *E484* *E485* > |
Bram Moolenaar | 5e3dae8 | 2010-03-02 16:19:40 +0100 | [diff] [blame] | 738 | Can't open file {filename} |
| 739 | Can't read file {filename} |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 740 | |
Bram Moolenaar | 34700a6 | 2013-03-07 13:20:54 +0100 | [diff] [blame] | 741 | Vim cannot read a temporary file. Especially on Windows, this can be caused |
| 742 | by wrong escaping of special characters for cmd.exe; the approach was |
| 743 | changed with patch 7.3.443. Try using |shellescape()| for all shell arguments |
| 744 | given to |system()|, or explicitly add escaping with ^. Also see |
| 745 | 'shellxquote' and 'shellxescape'. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 746 | |
| 747 | *E464* > |
| 748 | Ambiguous use of user-defined command |
| 749 | |
| 750 | There are two user-defined commands with a common name prefix, and you used |
| 751 | Command-line completion to execute one of them. |user-cmd-ambiguous| |
| 752 | Example: > |
| 753 | :command MyCommand1 echo "one" |
| 754 | :command MyCommand2 echo "two" |
| 755 | :MyCommand |
| 756 | < |
| 757 | *E492* > |
| 758 | Not an editor command |
| 759 | |
| 760 | You tried to execute a command that is neither an Ex command nor |
| 761 | a user-defined command. |
| 762 | |
| 763 | ============================================================================== |
| 764 | 3. Messages *messages* |
| 765 | |
| 766 | This is an (incomplete) overview of various messages that Vim gives: |
| 767 | |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 768 | *hit-enter* *press-enter* *hit-return* |
| 769 | *press-return* *hit-enter-prompt* |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 770 | |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 771 | Press ENTER or type command to continue |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 772 | |
| 773 | This message is given when there is something on the screen for you to read, |
| 774 | and the screen is about to be redrawn: |
| 775 | - After executing an external command (e.g., ":!ls" and "="). |
| 776 | - Something is displayed on the status line that is longer than the width of |
| 777 | the window, or runs into the 'showcmd' or 'ruler' output. |
| 778 | |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 779 | -> Press <Enter> or <Space> to redraw the screen and continue, without that |
| 780 | key being used otherwise. |
| 781 | -> Press ':' or any other Normal mode command character to start that command. |
Bram Moolenaar | e1438bb | 2006-03-01 22:01:55 +0000 | [diff] [blame] | 782 | -> Press 'k', <Up>, 'u', 'b' or 'g' to scroll back in the messages. This |
| 783 | works the same way as at the |more-prompt|. Only works when 'compatible' |
| 784 | is off and 'more' is on. |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 785 | -> Pressing 'j', 'f', 'd' or <Down> is ignored when messages scrolled off the |
| 786 | top of the screen, 'compatible' is off and 'more' is on, to avoid that |
| 787 | typing one 'j' or 'f' too many causes the messages to disappear. |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 788 | -> Press <C-Y> to copy (yank) a modeless selection to the clipboard register. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 789 | -> Use a menu. The characters defined for Cmdline-mode are used. |
| 790 | -> When 'mouse' contains the 'r' flag, clicking the left mouse button works |
| 791 | like pressing <Space>. This makes it impossible to select text though. |
| 792 | -> For the GUI clicking the left mouse button in the last line works like |
| 793 | pressing <Space>. |
| 794 | {Vi: only ":" commands are interpreted} |
| 795 | |
Bram Moolenaar | cfc7d63 | 2005-07-28 22:28:16 +0000 | [diff] [blame] | 796 | If you accidentally hit <Enter> or <Space> and you want to see the displayed |
| 797 | text then use |g<|. This only works when 'more' is set. |
| 798 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 799 | To reduce the number of hit-enter prompts: |
| 800 | - Set 'cmdheight' to 2 or higher. |
| 801 | - Add flags to 'shortmess'. |
| 802 | - Reset 'showcmd' and/or 'ruler'. |
| 803 | |
Bram Moolenaar | bb15b65 | 2005-10-03 21:52:09 +0000 | [diff] [blame] | 804 | If your script causes the hit-enter prompt and you don't know why, you may |
| 805 | find the |v:scrollstart| variable useful. |
| 806 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 807 | Also see 'mouse'. The hit-enter message is highlighted with the |hl-Question| |
| 808 | group. |
| 809 | |
| 810 | |
| 811 | *more-prompt* *pager* > |
| 812 | -- More -- |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 813 | -- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 814 | |
| 815 | This message is given when the screen is filled with messages. It is only |
| 816 | given when the 'more' option is on. It is highlighted with the |hl-MoreMsg| |
| 817 | group. |
| 818 | |
| 819 | Type effect ~ |
| 820 | <CR> or <NL> or j or <Down> one more line |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 821 | d down a page (half a screen) |
Bram Moolenaar | 8f3f58f | 2010-01-06 20:52:26 +0100 | [diff] [blame] | 822 | <Space> or f or <PageDown> down a screen |
Bram Moolenaar | cfc7d63 | 2005-07-28 22:28:16 +0000 | [diff] [blame] | 823 | G down all the way, until the hit-enter |
Bram Moolenaar | c9b4b05 | 2006-04-30 18:54:39 +0000 | [diff] [blame] | 824 | prompt |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 825 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 826 | <BS> or k or <Up> one line back (*) |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 827 | u up a page (half a screen) (*) |
| 828 | b or <PageUp> back a screen (*) |
Bram Moolenaar | cfc7d63 | 2005-07-28 22:28:16 +0000 | [diff] [blame] | 829 | g back to the start (*) |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 830 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 831 | q, <Esc> or CTRL-C stop the listing |
| 832 | : stop the listing and enter a |
| 833 | command-line |
| 834 | <C-Y> yank (copy) a modeless selection to |
| 835 | the clipboard ("* and "+ registers) |
| 836 | {menu-entry} what the menu is defined to in |
| 837 | Cmdline-mode. |
| 838 | <LeftMouse> (**) next page |
| 839 | |
| 840 | Any other key causes the meaning of the keys to be displayed. |
| 841 | |
Bram Moolenaar | 87e25fd | 2005-07-27 21:13:01 +0000 | [diff] [blame] | 842 | (*) backwards scrolling is {not in Vi}. Only scrolls back to where messages |
| 843 | started to scroll. |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 844 | (**) Clicking the left mouse button only works: |
| 845 | - For the GUI: in the last line of the screen. |
| 846 | - When 'r' is included in 'mouse' (but then selecting text won't work). |
| 847 | |
| 848 | |
| 849 | Note: The typed key is directly obtained from the terminal, it is not mapped |
| 850 | and typeahead is ignored. |
| 851 | |
Bram Moolenaar | 1e01546 | 2005-09-25 22:16:38 +0000 | [diff] [blame] | 852 | The |g<| command can be used to see the last page of previous command output. |
| 853 | This is especially useful if you accidentally typed <Space> at the hit-enter |
| 854 | prompt. |
| 855 | |
Bram Moolenaar | 071d427 | 2004-06-13 20:20:40 +0000 | [diff] [blame] | 856 | vim:tw=78:ts=8:ft=help:norl: |