2017-03-21 09:08:19 -07:00
|
|
|
*message.txt* Nvim
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
|
|
|
|
VIM REFERENCE MANUAL by Bram Moolenaar
|
|
|
|
|
|
|
|
|
|
|
|
This file contains an alphabetical list of messages and error messages that
|
|
|
|
Vim produces. You can use this if you don't understand what the message
|
|
|
|
means. It is not complete though.
|
|
|
|
|
2017-10-20 17:33:58 -07:00
|
|
|
Type |gO| to see the table of contents.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
1. Old messages *:messages* *:mes* *message-history*
|
|
|
|
|
|
|
|
The ":messages" command can be used to view previously given messages. This
|
|
|
|
is especially useful when messages have been overwritten or truncated. This
|
|
|
|
depends on the 'shortmess' option.
|
|
|
|
|
2021-04-29 18:13:43 -07:00
|
|
|
:mes[sages] Show all messages.
|
2016-11-26 16:34:52 -07:00
|
|
|
|
2021-04-29 18:13:43 -07:00
|
|
|
:{count}mes[sages] Show the {count} most recent messages.
|
2016-11-26 16:34:52 -07:00
|
|
|
|
2021-04-29 18:13:43 -07:00
|
|
|
:mes[sages] clear Clear all messages.
|
2016-11-26 16:34:52 -07:00
|
|
|
|
2021-04-29 18:13:43 -07:00
|
|
|
:{count}mes[sages] clear
|
|
|
|
Clear messages, keeping only the {count} most
|
2016-11-26 16:34:52 -07:00
|
|
|
recent ones.
|
|
|
|
|
2022-02-03 18:23:54 -07:00
|
|
|
The number of remembered messages is fixed at 200.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*g<*
|
|
|
|
The "g<" command can be used to see the last page of previous command output.
|
|
|
|
This is especially useful if you accidentally typed <Space> at the hit-enter
|
|
|
|
prompt. You are then back at the hit-enter prompt and can then scroll further
|
|
|
|
back.
|
|
|
|
Note: If the output has been stopped with "q" at the more prompt, it will only
|
|
|
|
be displayed up to this point.
|
|
|
|
The previous command output is cleared when another command produces output.
|
2017-04-28 14:09:56 -07:00
|
|
|
The "g<" output is not redirected.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
If you want to find help on a specific (error) message, use the ID at the
|
|
|
|
start of the message. For example, to get help on the message: >
|
|
|
|
|
|
|
|
E72: Close error on swap file
|
|
|
|
|
|
|
|
or (translated): >
|
|
|
|
|
|
|
|
E72: Errore durante chiusura swap file
|
|
|
|
|
|
|
|
Use: >
|
|
|
|
|
|
|
|
:help E72
|
|
|
|
|
|
|
|
If you are lazy, it also works without the shift key: >
|
|
|
|
|
|
|
|
:help e72
|
|
|
|
|
|
|
|
==============================================================================
|
|
|
|
2. Error messages *error-messages* *errors*
|
|
|
|
|
|
|
|
When an error message is displayed, but it is removed before you could read
|
|
|
|
it, you can see it again with: >
|
|
|
|
:echo v:errmsg
|
2016-11-26 16:34:52 -07:00
|
|
|
Or view a list of recent messages with: >
|
2014-07-10 21:05:51 -07:00
|
|
|
:messages
|
2016-11-26 16:34:52 -07:00
|
|
|
See `:messages` above.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
LIST OF MESSAGES
|
2021-04-29 18:57:46 -07:00
|
|
|
*E222* *E228* *E232* *E293* *E298* *E304* *E317*
|
2014-07-10 21:05:51 -07:00
|
|
|
*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
|
2020-01-01 11:03:06 -07:00
|
|
|
*E323* *E341* *E473* *E570* *E685* *E292* >
|
2014-07-10 21:05:51 -07:00
|
|
|
Add to read buffer
|
|
|
|
makemap: Illegal mode
|
|
|
|
Cannot create BalloonEval with both message and callback
|
|
|
|
Hangul automata ERROR
|
|
|
|
block was not locked
|
|
|
|
Didn't get block nr {N}?
|
|
|
|
ml_upd_block0(): Didn't get block 0??
|
|
|
|
pointer block id wrong {N}
|
|
|
|
Updated too many blocks?
|
|
|
|
get_varp ERROR
|
|
|
|
u_undo: line numbers wrong
|
|
|
|
undo list corrupt
|
|
|
|
undo line missing
|
|
|
|
ml_get: cannot find line {N}
|
|
|
|
cannot find line {N}
|
|
|
|
line number out of range: {N} past the end
|
|
|
|
line count wrong in block {N}
|
|
|
|
Internal error
|
|
|
|
Internal error: {function}
|
|
|
|
fatal error in cs_manage_matches
|
2018-10-28 06:05:39 -07:00
|
|
|
Invalid count for del_bytes(): {N}
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
This is an internal error. If you can reproduce it, please send in a bug
|
|
|
|
report. |bugs|
|
|
|
|
|
|
|
|
>
|
|
|
|
ATTENTION
|
|
|
|
Found a swap file by the name ...
|
|
|
|
|
|
|
|
See |ATTENTION|.
|
|
|
|
|
|
|
|
*E92* >
|
|
|
|
Buffer {N} not found
|
|
|
|
|
|
|
|
The buffer you requested does not exist. This can also happen when you have
|
|
|
|
wiped out a buffer which contains a mark or is referenced in another way.
|
|
|
|
|:bwipeout|
|
|
|
|
|
|
|
|
*E95* >
|
|
|
|
Buffer with this name already exists
|
|
|
|
|
2022-01-11 06:14:17 -07:00
|
|
|
You cannot have two buffers with exactly the same name. This includes the
|
|
|
|
path leading to the file.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*E72* >
|
|
|
|
Close error on swap file
|
|
|
|
|
|
|
|
The |swap-file|, that is used to keep a copy of the edited text, could not be
|
|
|
|
closed properly. Mostly harmless.
|
|
|
|
|
|
|
|
*E169* >
|
|
|
|
Command too recursive
|
|
|
|
|
|
|
|
This happens when an Ex command executes an Ex command that executes an Ex
|
2017-04-30 13:18:04 -07:00
|
|
|
command, etc. The limit is 200 or the value of 'maxfuncdepth', whatever is
|
|
|
|
larger. When it's more there probably is an endless loop. Probably a
|
|
|
|
|:execute| or |:source| command is involved.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*E254* >
|
|
|
|
Cannot allocate color {name}
|
|
|
|
|
|
|
|
The color name {name} is unknown. See |gui-colors| for a list of colors that
|
|
|
|
are available on most systems.
|
|
|
|
|
|
|
|
*E458* >
|
|
|
|
Cannot allocate colormap entry, some colors may be incorrect
|
|
|
|
|
|
|
|
This means that there are not enough colors available for Vim. It will still
|
|
|
|
run, but some of the colors will not appear in the specified color. Try
|
|
|
|
stopping other applications that use many colors, or start them after starting
|
|
|
|
gvim.
|
|
|
|
Browsers are known to consume a lot of colors. You can avoid this with
|
|
|
|
netscape by telling it to use its own colormap: >
|
|
|
|
netscape -install
|
|
|
|
Or tell it to limit to a certain number of colors (64 should work well): >
|
|
|
|
netscape -ncols 64
|
|
|
|
This can also be done with a line in your Xdefaults file: >
|
|
|
|
Netscape*installColormap: Yes
|
|
|
|
or >
|
|
|
|
Netscape*maxImageColors: 64
|
|
|
|
<
|
|
|
|
*E79* >
|
|
|
|
Cannot expand wildcards
|
|
|
|
|
|
|
|
A filename contains a strange combination of characters, which causes Vim to
|
|
|
|
attempt expanding wildcards but this fails. This does NOT mean that no
|
|
|
|
matching file names could be found, but that the pattern was illegal.
|
|
|
|
|
|
|
|
*E459* >
|
|
|
|
Cannot go back to previous directory
|
|
|
|
|
|
|
|
While expanding a file name, Vim failed to go back to the previously used
|
|
|
|
directory. All file names being used may be invalid now! You need to have
|
|
|
|
execute permission on the current directory.
|
|
|
|
|
|
|
|
*E190* *E212* >
|
|
|
|
Cannot open "{filename}" for writing
|
|
|
|
Can't open file for writing
|
|
|
|
|
|
|
|
For some reason the file you are writing to cannot be created or overwritten.
|
|
|
|
The reason could be that you do not have permission to write in the directory
|
|
|
|
or the file name is not valid.
|
|
|
|
|
|
|
|
*E166* >
|
|
|
|
Can't open linked file for writing
|
|
|
|
|
|
|
|
You are trying to write to a file which can't be overwritten, and the file is
|
|
|
|
a link (either a hard link or a symbolic link). Writing might still be
|
|
|
|
possible if the directory that contains the link or the file is writable, but
|
|
|
|
Vim now doesn't know if you want to delete the link and write the file in its
|
|
|
|
place, or if you want to delete the file itself and write the new file in its
|
|
|
|
place. If you really want to write the file under this name, you have to
|
|
|
|
manually delete the link or the file, or change the permissions so that Vim
|
|
|
|
can overwrite.
|
|
|
|
|
|
|
|
*E46* >
|
|
|
|
Cannot change read-only variable "{name}"
|
|
|
|
|
|
|
|
You are trying to assign a value to an argument of a function |a:var| or a Vim
|
|
|
|
internal variable |v:var| which is read-only.
|
|
|
|
|
|
|
|
*E90* >
|
|
|
|
Cannot unload last buffer
|
|
|
|
|
|
|
|
Vim always requires one buffer to be loaded, otherwise there would be nothing
|
|
|
|
to display in the window.
|
|
|
|
|
|
|
|
*E40* >
|
|
|
|
Can't open errorfile <filename>
|
|
|
|
|
|
|
|
When using the ":make" or ":grep" commands: The file used to save the error
|
|
|
|
messages or grep output cannot be opened. This can have several causes:
|
|
|
|
- 'shellredir' has a wrong value.
|
|
|
|
- The shell changes directory, causing the error file to be written in another
|
|
|
|
directory. This could be fixed by changing 'makeef', but then the make
|
|
|
|
command is still executed in the wrong directory.
|
|
|
|
- 'makeef' has a wrong value.
|
|
|
|
- The 'grepprg' or 'makeprg' could not be executed. This cannot always be
|
|
|
|
detected (especially on MS-Windows). Check your $PATH.
|
|
|
|
|
|
|
|
>
|
|
|
|
Can't open file C:\TEMP\VIoD243.TMP
|
|
|
|
|
|
|
|
On MS-Windows, this message appears when the output of an external command was
|
|
|
|
to be read, but the command didn't run successfully. This can be caused by
|
|
|
|
many things. Check the 'shell', 'shellquote', 'shellxquote', 'shellslash' and
|
|
|
|
related options. It might also be that the external command was not found,
|
|
|
|
there is no different error message for that.
|
|
|
|
|
|
|
|
*E12* >
|
|
|
|
Command not allowed from exrc/vimrc in current dir or tag search
|
|
|
|
|
|
|
|
Some commands are not allowed for security reasons. These commands mostly
|
2015-10-17 07:25:53 -07:00
|
|
|
come from a .exrc or .nvimrc file in the current directory, or from a tags
|
2014-07-10 21:05:51 -07:00
|
|
|
file. Also see 'secure'.
|
|
|
|
|
|
|
|
*E74* >
|
|
|
|
Command too complex
|
|
|
|
|
|
|
|
A mapping resulted in a very long command string. Could be caused by a
|
|
|
|
mapping that indirectly calls itself.
|
|
|
|
|
|
|
|
>
|
|
|
|
CONVERSION ERROR
|
|
|
|
|
|
|
|
When writing a file and the text "CONVERSION ERROR" appears, this means that
|
|
|
|
some bits were lost when converting text from the internally used UTF-8 to the
|
|
|
|
format of the file. The file will not be marked unmodified. If you care
|
|
|
|
about the loss of information, set the 'fileencoding' option to another value
|
|
|
|
that can handle the characters in the buffer and write again. If you don't
|
|
|
|
care, you can abandon the buffer or reset the 'modified' option.
|
2019-08-01 21:29:23 -07:00
|
|
|
If there is a backup file, when 'writebackup' or 'backup' is set, it will not
|
|
|
|
be deleted, so you can move it back into place if you want to discard the
|
|
|
|
changes.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*E302* >
|
|
|
|
Could not rename swap file
|
|
|
|
|
|
|
|
When the file name changes, Vim tries to rename the |swap-file| as well.
|
|
|
|
This failed and the old swap file is now still used. Mostly harmless.
|
|
|
|
|
|
|
|
*E43* *E44* >
|
|
|
|
Damaged match string
|
|
|
|
Corrupted regexp program
|
|
|
|
|
|
|
|
Something inside Vim went wrong and resulted in a corrupted regexp. If you
|
|
|
|
know how to reproduce this problem, please report it. |bugs|
|
|
|
|
|
|
|
|
*E208* *E209* *E210* >
|
|
|
|
Error writing to "{filename}"
|
|
|
|
Error closing "{filename}"
|
|
|
|
Error reading "{filename}"
|
|
|
|
|
|
|
|
This occurs when Vim is trying to rename a file, but a simple change of file
|
|
|
|
name doesn't work. Then the file will be copied, but somehow this failed.
|
|
|
|
The result may be that both the original file and the destination file exist
|
|
|
|
and the destination file may be incomplete.
|
|
|
|
|
|
|
|
>
|
|
|
|
Vim: Error reading input, exiting...
|
|
|
|
|
|
|
|
This occurs when Vim cannot read typed characters while input is required.
|
|
|
|
Vim got stuck, the only thing it can do is exit. This can happen when both
|
|
|
|
stdin and stderr are redirected and executing a script that doesn't exit Vim.
|
|
|
|
|
|
|
|
*E47* >
|
|
|
|
Error while reading errorfile
|
|
|
|
|
|
|
|
Reading the error file was not possible. This is NOT caused by an error
|
|
|
|
message that was not recognized.
|
|
|
|
|
|
|
|
*E80* >
|
|
|
|
Error while writing
|
|
|
|
|
|
|
|
Writing a file was not completed successfully. The file is probably
|
|
|
|
incomplete.
|
|
|
|
|
|
|
|
*E13* *E189* >
|
|
|
|
File exists (add ! to override)
|
|
|
|
"{filename}" exists (add ! to override)
|
|
|
|
|
|
|
|
You are protected from accidentally overwriting a file. When you want to
|
|
|
|
write anyway, use the same command, but add a "!" just after the command.
|
|
|
|
Example: >
|
|
|
|
:w /tmp/test
|
|
|
|
changes to: >
|
|
|
|
:w! /tmp/test
|
|
|
|
<
|
|
|
|
*E768* >
|
|
|
|
Swap file exists: {filename} (:silent! overrides)
|
|
|
|
|
|
|
|
You are protected from overwriting a file that is being edited by Vim. This
|
|
|
|
happens when you use ":w! filename" and a swapfile is found.
|
|
|
|
- If the swapfile was left over from an old crashed edit session you may want
|
|
|
|
to delete the swapfile. Edit {filename} to find out information about the
|
|
|
|
swapfile.
|
|
|
|
- If you want to write anyway prepend ":silent!" to the command. For example: >
|
|
|
|
:silent! w! /tmp/test
|
|
|
|
< The special command is needed, since you already added the ! for overwriting
|
|
|
|
an existing file.
|
|
|
|
|
|
|
|
*E139* >
|
|
|
|
File is loaded in another buffer
|
|
|
|
|
|
|
|
You are trying to write a file under a name which is also used in another
|
|
|
|
buffer. This would result in two versions of the same file.
|
|
|
|
|
|
|
|
*E142* >
|
|
|
|
File not written: Writing is disabled by 'write' option
|
|
|
|
|
|
|
|
The 'write' option is off. This makes all commands that try to write a file
|
|
|
|
generate this message. This could be caused by a |-m| commandline argument.
|
|
|
|
You can switch the 'write' option on with ":set write".
|
|
|
|
|
|
|
|
*E25* >
|
2015-03-24 18:29:47 -07:00
|
|
|
Nvim does not have a built-in GUI
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2023-06-22 03:44:51 -07:00
|
|
|
Nvim does not have a built in GUI, so `:gvim` and `:gui` don't work.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*E49* >
|
|
|
|
Invalid scroll size
|
|
|
|
|
|
|
|
This is caused by setting an invalid value for the 'scroll', 'scrolljump' or
|
|
|
|
'scrolloff' options.
|
|
|
|
|
|
|
|
*E17* >
|
|
|
|
"{filename}" is a directory
|
|
|
|
|
|
|
|
You tried to write a file with the name of a directory. This is not possible.
|
|
|
|
You probably need to append a file name.
|
|
|
|
|
|
|
|
*E19* >
|
|
|
|
Mark has invalid line number
|
|
|
|
|
|
|
|
You are using a mark that has a line number that doesn't exist. This can
|
|
|
|
happen when you have a mark in another file, and some other program has
|
|
|
|
deleted lines from it.
|
|
|
|
|
|
|
|
*E219* *E220* >
|
|
|
|
Missing {.
|
|
|
|
Missing }.
|
|
|
|
|
|
|
|
Using a {} construct in a file name, but there is a { without a matching } or
|
|
|
|
the other way around. It should be used like this: {foo,bar}. This matches
|
|
|
|
"foo" and "bar".
|
|
|
|
|
|
|
|
*E315* >
|
|
|
|
ml_get: invalid lnum: {number}
|
|
|
|
|
|
|
|
This is an internal Vim error. Please try to find out how it can be
|
2020-08-31 00:51:35 -07:00
|
|
|
reproduced, and submit a |bug-report|.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*E173* >
|
|
|
|
{number} more files to edit
|
|
|
|
|
|
|
|
You are trying to exit, while the last item in the argument list has not been
|
|
|
|
edited. This protects you from accidentally exiting when you still have more
|
|
|
|
files to work on. See |argument-list|. If you do want to exit, just do it
|
|
|
|
again and it will work.
|
|
|
|
|
|
|
|
*E23* *E194* >
|
|
|
|
No alternate file
|
|
|
|
No alternate file name to substitute for '#'
|
|
|
|
|
|
|
|
The alternate file is not defined yet. See |alternate-file|.
|
|
|
|
|
|
|
|
*E32* >
|
|
|
|
No file name
|
|
|
|
|
|
|
|
The current buffer has no name. To write it, use ":w fname". Or give the
|
|
|
|
buffer a name with ":file fname".
|
|
|
|
|
|
|
|
*E141* >
|
|
|
|
No file name for buffer {number}
|
|
|
|
|
|
|
|
One of the buffers that was changed does not have a file name. Therefore it
|
|
|
|
cannot be written. You need to give the buffer a file name: >
|
|
|
|
:buffer {number}
|
|
|
|
:file {filename}
|
|
|
|
<
|
|
|
|
*E33* >
|
|
|
|
No previous substitute regular expression
|
|
|
|
|
|
|
|
When using the '~' character in a pattern, it is replaced with the previously
|
|
|
|
used pattern in a ":substitute" command. This fails when no such command has
|
|
|
|
been used yet. See |/~|. This also happens when using ":s/pat/%/", where the
|
|
|
|
"%" stands for the previous substitute string.
|
|
|
|
|
|
|
|
*E35* >
|
|
|
|
No previous regular expression
|
|
|
|
|
|
|
|
When using an empty search pattern, the previous search pattern is used. But
|
|
|
|
that is not possible if there was no previous search.
|
|
|
|
|
|
|
|
*E24* >
|
|
|
|
No such abbreviation
|
|
|
|
|
|
|
|
You have used an ":unabbreviate" command with an argument which is not an
|
|
|
|
existing abbreviation. All variations of this command give the same message:
|
|
|
|
":cunabbrev", ":iunabbrev", etc. Check for trailing white space.
|
|
|
|
|
|
|
|
*E31* >
|
|
|
|
No such mapping
|
|
|
|
|
|
|
|
You have used an ":unmap" command with an argument which is not an existing
|
|
|
|
mapping. All variations of this command give the same message: ":cunmap",
|
|
|
|
":unmap!", etc. A few hints:
|
|
|
|
- Check for trailing white space.
|
|
|
|
- If the mapping is buffer-local you need to use ":unmap <buffer>".
|
|
|
|
|:map-<buffer>|
|
|
|
|
|
|
|
|
*E37* *E89* >
|
|
|
|
No write since last change (add ! to override)
|
|
|
|
No write since last change for buffer {N} (add ! to override)
|
|
|
|
|
|
|
|
You are trying to |abandon| a file that has changes. Vim protects you from
|
|
|
|
losing your work. You can either write the changed file with ":w", or, if you
|
|
|
|
are sure, |abandon| it anyway, and lose all the changes. This can be done by
|
|
|
|
adding a '!' character just after the command you used. Example: >
|
|
|
|
:e other_file
|
|
|
|
changes to: >
|
|
|
|
:e! other_file
|
|
|
|
<
|
|
|
|
*E162* >
|
|
|
|
No write since last change for buffer "{name}"
|
|
|
|
|
|
|
|
This appears when you try to exit Vim while some buffers are changed. You
|
|
|
|
will either have to write the changed buffer (with |:w|), or use a command to
|
|
|
|
abandon the buffer forcefully, e.g., with ":qa!". Careful, make sure you
|
|
|
|
don't throw away changes you really want to keep. You might have forgotten
|
|
|
|
about a buffer, especially when 'hidden' is set.
|
|
|
|
|
|
|
|
>
|
|
|
|
[No write since last change]
|
|
|
|
|
|
|
|
This appears when executing a shell command while at least one buffer was
|
|
|
|
changed. To avoid the message reset the 'warn' option.
|
|
|
|
|
|
|
|
*E38* >
|
|
|
|
Null argument
|
|
|
|
|
|
|
|
Something inside Vim went wrong and resulted in a NULL pointer. If you know
|
|
|
|
how to reproduce this problem, please report it. |bugs|
|
|
|
|
|
|
|
|
*E41* *E82* *E83* *E342* >
|
|
|
|
Out of memory!
|
|
|
|
Out of memory! (allocating {number} bytes)
|
|
|
|
Cannot allocate any buffer, exiting...
|
|
|
|
Cannot allocate buffer, using other one...
|
|
|
|
|
|
|
|
Oh, oh. You must have been doing something complicated, or some other program
|
|
|
|
is consuming your memory. Be careful! Vim is not completely prepared for an
|
|
|
|
out-of-memory situation. First make sure that any changes are saved. Then
|
|
|
|
try to solve the memory shortage. To stay on the safe side, exit Vim and
|
|
|
|
start again.
|
|
|
|
|
|
|
|
Buffers are only partly kept in memory, thus editing a very large file is
|
|
|
|
unlikely to cause an out-of-memory situation. Undo information is completely
|
|
|
|
in memory, you can reduce that with these options:
|
|
|
|
- 'undolevels' Set to a low value, or to -1 to disable undo completely. This
|
|
|
|
helps for a change that affects all lines.
|
|
|
|
- 'undoreload' Set to zero to disable.
|
|
|
|
|
|
|
|
*E339* >
|
|
|
|
Pattern too long
|
|
|
|
|
|
|
|
This happens on systems with 16 bit ints: The compiled regexp pattern is
|
|
|
|
longer than about 65000 characters. Try using a shorter pattern.
|
|
|
|
It also happens when the offset of a rule doesn't fit in the space available.
|
|
|
|
Try simplifying the pattern.
|
|
|
|
|
|
|
|
*E45* >
|
|
|
|
'readonly' option is set (add ! to override)
|
|
|
|
|
|
|
|
You are trying to write a file that was marked as read-only. To write the
|
|
|
|
file anyway, either reset the 'readonly' option, or add a '!' character just
|
|
|
|
after the command you used. Example: >
|
|
|
|
:w
|
|
|
|
changes to: >
|
|
|
|
:w!
|
|
|
|
<
|
|
|
|
*E294* *E295* *E301* >
|
|
|
|
Read error in swap file
|
|
|
|
Seek error in swap file read
|
|
|
|
Oops, lost the swap file!!!
|
|
|
|
|
|
|
|
Vim tried to read text from the |swap-file|, but something went wrong. The
|
|
|
|
text in the related buffer may now be corrupted! Check carefully before you
|
|
|
|
write a buffer. You may want to write it in another file and check for
|
|
|
|
differences.
|
|
|
|
|
|
|
|
*E192* >
|
|
|
|
Recursive use of :normal too deep
|
|
|
|
|
|
|
|
You are using a ":normal" command, whose argument again uses a ":normal"
|
|
|
|
command in a recursive way. This is restricted to 'maxmapdepth' levels. This
|
|
|
|
example illustrates how to get this message: >
|
|
|
|
:map gq :normal gq<CR>
|
|
|
|
If you type "gq", it will execute this mapping, which will call "gq" again.
|
|
|
|
|
|
|
|
*E22* >
|
|
|
|
Scripts nested too deep
|
|
|
|
|
2022-01-11 06:14:17 -07:00
|
|
|
Scripts can be read with the "-s" command-line argument and with the
|
|
|
|
`:source!` command. The script can then again read another script. This can
|
|
|
|
continue for about 14 levels. When more nesting is done, Vim assumes that
|
|
|
|
there is a recursive loop and stops with this error message.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*E300* >
|
|
|
|
Swap file already exists (symlink attack?)
|
|
|
|
|
|
|
|
This message appears when Vim is trying to open a swap file and finds it
|
|
|
|
already exists or finds a symbolic link in its place. This shouldn't happen,
|
|
|
|
because Vim already checked that the file doesn't exist. Either someone else
|
|
|
|
opened the same file at exactly the same moment (very unlikely) or someone is
|
|
|
|
attempting a symlink attack (could happen when editing a file in /tmp or when
|
|
|
|
'directory' starts with "/tmp", which is a bad choice).
|
|
|
|
|
|
|
|
*E432* >
|
|
|
|
Tags file not sorted: {file name}
|
|
|
|
|
|
|
|
Vim (and Vi) expect tags files to be sorted in ASCII order. Binary searching
|
|
|
|
can then be used, which is a lot faster than a linear search. If your tags
|
|
|
|
files are not properly sorted, reset the |'tagbsearch'| option.
|
|
|
|
This message is only given when Vim detects a problem when searching for a
|
|
|
|
tag. Sometimes this message is not given, even though the tags file is not
|
|
|
|
properly sorted.
|
|
|
|
|
|
|
|
*E424* >
|
|
|
|
Too many different highlighting attributes in use
|
|
|
|
|
|
|
|
Vim can only handle about 223 different kinds of highlighting. If you run
|
|
|
|
into this limit, you have used too many |:highlight| commands with different
|
|
|
|
arguments. A ":highlight link" is not counted.
|
|
|
|
|
|
|
|
*E77* >
|
|
|
|
Too many file names
|
|
|
|
|
|
|
|
When expanding file names, more than one match was found. Only one match is
|
|
|
|
allowed for the command that was used.
|
|
|
|
|
|
|
|
*E303* >
|
|
|
|
Unable to open swap file for "{filename}", recovery impossible
|
|
|
|
|
|
|
|
Vim was not able to create a swap file. You can still edit the file, but if
|
|
|
|
Vim unexpectedly exits the changes will be lost. And Vim may consume a lot of
|
|
|
|
memory when editing a big file. You may want to change the 'directory' option
|
2019-10-19 14:11:31 -07:00
|
|
|
to avoid this error. This error is not given when 'directory' is empty. See
|
|
|
|
|swap-file|.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*E140* >
|
|
|
|
Use ! to write partial buffer
|
|
|
|
|
|
|
|
When using a range to write part of a buffer, it is unusual to overwrite the
|
|
|
|
original file. It is probably a mistake (e.g., when Visual mode was active
|
|
|
|
when using ":w"), therefore Vim requires using a ! after the command, e.g.:
|
|
|
|
":3,10w!".
|
|
|
|
>
|
|
|
|
|
|
|
|
Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type
|
|
|
|
VirtualBinding
|
|
|
|
|
|
|
|
Messages like this appear when starting up. This is not a Vim problem, your
|
2022-10-14 08:01:13 -07:00
|
|
|
X11 configuration is wrong.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*W10* >
|
|
|
|
Warning: Changing a readonly file
|
|
|
|
|
|
|
|
The file is read-only and you are making a change to it anyway. You can use
|
|
|
|
the |FileChangedRO| autocommand event to avoid this message (the autocommand
|
|
|
|
must reset the 'readonly' option). See 'modifiable' to completely disallow
|
|
|
|
making changes to a file.
|
|
|
|
This message is only given for the first change after 'readonly' has been set.
|
|
|
|
|
|
|
|
*W13* >
|
|
|
|
Warning: File "{filename}" has been created after editing started
|
|
|
|
|
|
|
|
You are editing a file in Vim when it didn't exist, but it does exist now.
|
|
|
|
You will have to decide if you want to keep the version in Vim or the newly
|
|
|
|
created file. This message is not given when 'buftype' is not empty.
|
|
|
|
|
|
|
|
*W11* >
|
|
|
|
Warning: File "{filename}" has changed since editing started
|
|
|
|
|
|
|
|
The file which you have started editing has got another timestamp and the
|
|
|
|
contents changed (more precisely: When reading the file again with the current
|
|
|
|
option settings and autocommands you would end up with different text). This
|
|
|
|
probably means that some other program changed the file. You will have to
|
|
|
|
find out what happened, and decide which version of the file you want to keep.
|
|
|
|
Set the 'autoread' option if you want to do this automatically.
|
|
|
|
This message is not given when 'buftype' is not empty.
|
2022-10-29 08:41:22 -07:00
|
|
|
Also see the |FileChangedShell| autocommand.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
There is one situation where you get this message even though there is nothing
|
|
|
|
wrong: If you save a file in Windows on the day the daylight saving time
|
|
|
|
starts. It can be fixed in one of these ways:
|
|
|
|
- Add this line in your autoexec.bat: >
|
|
|
|
SET TZ=-1
|
|
|
|
< Adjust the "-1" for your time zone.
|
|
|
|
- Disable "automatically adjust clock for daylight saving changes".
|
|
|
|
- Just write the file again the next day. Or set your clock to the next day,
|
|
|
|
write the file twice and set the clock back.
|
|
|
|
|
2017-11-07 12:43:11 -07:00
|
|
|
If you get W11 all the time, you may need to disable "Acronis Active
|
2017-11-07 12:51:49 -07:00
|
|
|
Protection" or register Vim as a trusted service/application.
|
2017-11-07 12:43:11 -07:00
|
|
|
|
2014-07-10 21:05:51 -07:00
|
|
|
*W12* >
|
|
|
|
Warning: File "{filename}" has changed and the buffer was changed in Vim as well
|
|
|
|
|
|
|
|
Like the above, and the buffer for the file was changed in this Vim as well.
|
|
|
|
You will have to decide if you want to keep the version in this Vim or the one
|
|
|
|
on disk. This message is not given when 'buftype' is not empty.
|
|
|
|
|
|
|
|
*W16* >
|
|
|
|
Warning: Mode of file "{filename}" has changed since editing started
|
|
|
|
|
|
|
|
When the timestamp for a buffer was changed and the contents are still the
|
|
|
|
same but the mode (permissions) have changed. This usually occurs when
|
|
|
|
checking out a file from a version control system, which causes the read-only
|
|
|
|
bit to be reset. It should be safe to reload the file. Set 'autoread' to
|
|
|
|
automatically reload the file.
|
|
|
|
|
|
|
|
*E211* >
|
|
|
|
File "{filename}" no longer available
|
|
|
|
|
|
|
|
The file which you have started editing has disappeared, or is no longer
|
|
|
|
accessible. Make sure you write the buffer somewhere to avoid losing
|
|
|
|
changes. This message is not given when 'buftype' is not empty.
|
|
|
|
|
|
|
|
*W14* >
|
|
|
|
Warning: List of file names overflow
|
|
|
|
|
|
|
|
You must be using an awful lot of buffers. It's now possible that two buffers
|
|
|
|
have the same number, which causes various problems. You might want to exit
|
|
|
|
Vim and restart it.
|
|
|
|
|
2016-10-14 20:16:11 -07:00
|
|
|
*E931* >
|
|
|
|
Buffer cannot be registered
|
|
|
|
|
2017-02-27 18:41:55 -07:00
|
|
|
Out of memory or a duplicate buffer number. May happen after W14. Looking up
|
2016-10-14 20:16:11 -07:00
|
|
|
a buffer will not always work, better restart Vim.
|
|
|
|
|
2014-07-10 21:05:51 -07:00
|
|
|
*E296* *E297* >
|
|
|
|
Seek error in swap file write
|
|
|
|
Write error in swap file
|
|
|
|
|
|
|
|
This mostly happens when the disk is full. Vim could not write text into the
|
|
|
|
|swap-file|. It's not directly harmful, but when Vim unexpectedly exits some
|
|
|
|
text may be lost without recovery being possible. Vim might run out of memory
|
|
|
|
when this problem persists.
|
|
|
|
|
|
|
|
*E10* >
|
|
|
|
\\ should be followed by /, ? or &
|
|
|
|
|
|
|
|
A command line started with a backslash or the range of a command contained a
|
|
|
|
backslash in a wrong place. This is often caused by command-line continuation
|
|
|
|
being disabled. Remove the 'C' flag from the 'cpoptions' option to enable it.
|
|
|
|
|
|
|
|
*E471* >
|
|
|
|
Argument required
|
|
|
|
|
2019-12-10 02:24:20 -07:00
|
|
|
Ex command was executed without a mandatory argument(s).
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2019-08-01 13:53:23 -07:00
|
|
|
*E474* *E475* *E983* >
|
2014-07-10 21:05:51 -07:00
|
|
|
Invalid argument
|
|
|
|
Invalid argument: {arg}
|
2019-08-01 13:53:23 -07:00
|
|
|
Duplicate argument: {arg}
|
2014-07-10 21:05:51 -07:00
|
|
|
|
2019-12-10 02:24:20 -07:00
|
|
|
Ex command or function was given an invalid argument. Or |jobstart()| or
|
|
|
|
|system()| was given a non-executable command.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*E488* >
|
|
|
|
Trailing characters
|
|
|
|
|
2019-12-10 02:24:20 -07:00
|
|
|
An argument was given to an Ex command that does not permit one.
|
2022-01-11 06:14:17 -07:00
|
|
|
Or the argument has invalid characters and has not been recognized.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
*E477* *E478* >
|
|
|
|
No ! allowed
|
|
|
|
Don't panic!
|
|
|
|
|
|
|
|
You have added a "!" after an Ex command that doesn't permit one.
|
|
|
|
|
|
|
|
*E481* >
|
|
|
|
No range allowed
|
|
|
|
|
|
|
|
A range was specified for an Ex command that doesn't permit one. See
|
|
|
|
|cmdline-ranges|.
|
|
|
|
|
|
|
|
*E482* *E483* >
|
|
|
|
Can't create file {filename}
|
|
|
|
Can't get temp file name
|
|
|
|
|
|
|
|
Vim cannot create a temporary file.
|
|
|
|
|
|
|
|
*E484* *E485* >
|
|
|
|
Can't open file {filename}
|
|
|
|
Can't read file {filename}
|
|
|
|
|
|
|
|
Vim cannot read a temporary file. Especially on Windows, this can be caused
|
|
|
|
by wrong escaping of special characters for cmd.exe; the approach was
|
|
|
|
changed with patch 7.3.443. Try using |shellescape()| for all shell arguments
|
|
|
|
given to |system()|, or explicitly add escaping with ^. Also see
|
|
|
|
'shellxquote' and 'shellxescape'.
|
|
|
|
|
|
|
|
*E464* >
|
|
|
|
Ambiguous use of user-defined command
|
|
|
|
|
|
|
|
There are two user-defined commands with a common name prefix, and you used
|
|
|
|
Command-line completion to execute one of them. |user-cmd-ambiguous|
|
|
|
|
Example: >
|
|
|
|
:command MyCommand1 echo "one"
|
|
|
|
:command MyCommand2 echo "two"
|
|
|
|
:MyCommand
|
|
|
|
<
|
|
|
|
*E492* >
|
|
|
|
Not an editor command
|
|
|
|
|
|
|
|
You tried to execute a command that is neither an Ex command nor
|
|
|
|
a user-defined command.
|
|
|
|
|
2015-08-29 07:13:39 -07:00
|
|
|
*E905* >
|
|
|
|
Cannot set this option after startup
|
|
|
|
|
2015-09-08 21:04:39 -07:00
|
|
|
You tried to set an option after startup that only allows changes during
|
|
|
|
startup.
|
2015-08-29 07:13:39 -07:00
|
|
|
|
2017-11-06 17:05:23 -07:00
|
|
|
*E943* >
|
2019-03-27 03:11:52 -07:00
|
|
|
Command table needs to be updated, run 'make'
|
2017-11-06 17:05:23 -07:00
|
|
|
|
2019-03-27 03:11:52 -07:00
|
|
|
This can only happen when changing the source code, after adding a command in
|
|
|
|
src/ex_cmds.lua. Update the lookup table by re-running the build. >
|
2017-11-06 17:05:23 -07:00
|
|
|
|
2014-07-10 21:05:51 -07:00
|
|
|
==============================================================================
|
|
|
|
3. Messages *messages*
|
|
|
|
|
|
|
|
This is an (incomplete) overview of various messages that Vim gives:
|
|
|
|
|
|
|
|
*hit-enter* *press-enter* *hit-return*
|
|
|
|
*press-return* *hit-enter-prompt*
|
|
|
|
|
|
|
|
Press ENTER or type command to continue
|
|
|
|
|
|
|
|
This message is given when there is something on the screen for you to read,
|
|
|
|
and the screen is about to be redrawn:
|
|
|
|
- After executing an external command (e.g., ":!ls" and "=").
|
|
|
|
- Something is displayed on the status line that is longer than the width of
|
|
|
|
the window, or runs into the 'showcmd' or 'ruler' output.
|
|
|
|
|
|
|
|
-> Press <Enter> or <Space> to redraw the screen and continue, without that
|
|
|
|
key being used otherwise.
|
|
|
|
-> Press ':' or any other Normal mode command character to start that command.
|
2021-05-01 18:56:01 -07:00
|
|
|
Note that after an external command some special keys, such as the cursor
|
|
|
|
keys, may not work normally, because the terminal is still set to a state
|
|
|
|
for executing the external command.
|
2014-07-10 21:05:51 -07:00
|
|
|
-> Press 'k', <Up>, 'u', 'b' or 'g' to scroll back in the messages. This
|
2015-03-23 20:29:21 -07:00
|
|
|
works the same way as at the |more-prompt|. Only works when 'more' is on.
|
2014-07-10 21:05:51 -07:00
|
|
|
-> Pressing 'j', 'f', 'd' or <Down> is ignored when messages scrolled off the
|
2015-03-23 20:29:21 -07:00
|
|
|
top of the screen and 'more' is on, to avoid that typing one 'j' or 'f' too
|
|
|
|
many causes the messages to disappear.
|
2014-07-10 21:05:51 -07:00
|
|
|
-> Press <C-Y> to copy (yank) a modeless selection to the clipboard register.
|
|
|
|
-> Use a menu. The characters defined for Cmdline-mode are used.
|
|
|
|
-> When 'mouse' contains the 'r' flag, clicking the left mouse button works
|
|
|
|
like pressing <Space>. This makes it impossible to select text though.
|
|
|
|
-> For the GUI clicking the left mouse button in the last line works like
|
|
|
|
pressing <Space>.
|
|
|
|
|
|
|
|
If you accidentally hit <Enter> or <Space> and you want to see the displayed
|
|
|
|
text then use |g<|. This only works when 'more' is set.
|
|
|
|
|
|
|
|
To reduce the number of hit-enter prompts:
|
|
|
|
- Set 'cmdheight' to 2 or higher.
|
|
|
|
- Add flags to 'shortmess'.
|
|
|
|
- Reset 'showcmd' and/or 'ruler'.
|
2019-09-06 18:35:17 -07:00
|
|
|
- Make sure `:echo` text is within |v:echospace| screen cells.
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
If your script causes the hit-enter prompt and you don't know why, you may
|
|
|
|
find the |v:scrollstart| variable useful.
|
|
|
|
|
|
|
|
Also see 'mouse'. The hit-enter message is highlighted with the |hl-Question|
|
|
|
|
group.
|
|
|
|
|
|
|
|
|
|
|
|
*more-prompt* *pager* >
|
|
|
|
-- More --
|
|
|
|
-- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit
|
|
|
|
|
|
|
|
This message is given when the screen is filled with messages. It is only
|
|
|
|
given when the 'more' option is on. It is highlighted with the |hl-MoreMsg|
|
|
|
|
group.
|
|
|
|
|
|
|
|
Type effect ~
|
|
|
|
<CR> or <NL> or j or <Down> one more line
|
|
|
|
d down a page (half a screen)
|
|
|
|
<Space> or f or <PageDown> down a screen
|
|
|
|
G down all the way, until the hit-enter
|
|
|
|
prompt
|
|
|
|
|
2015-04-29 17:04:26 -07:00
|
|
|
<BS> or k or <Up> one line back
|
|
|
|
u up a page (half a screen)
|
|
|
|
b or <PageUp> back a screen
|
|
|
|
g back to the start
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
q, <Esc> or CTRL-C stop the listing
|
|
|
|
: stop the listing and enter a
|
|
|
|
command-line
|
|
|
|
<C-Y> yank (copy) a modeless selection to
|
|
|
|
the clipboard ("* and "+ registers)
|
|
|
|
{menu-entry} what the menu is defined to in
|
|
|
|
Cmdline-mode.
|
2023-06-24 04:47:10 -07:00
|
|
|
<LeftMouse> next page*
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
Any other key causes the meaning of the keys to be displayed.
|
|
|
|
|
2023-06-24 04:47:10 -07:00
|
|
|
* Clicking the left mouse button only works:
|
|
|
|
- For the GUI: in the last line of the screen.
|
|
|
|
- When 'r' is included in 'mouse' (but then selecting text won't work).
|
2014-07-10 21:05:51 -07:00
|
|
|
|
|
|
|
|
|
|
|
Note: The typed key is directly obtained from the terminal, it is not mapped
|
|
|
|
and typeahead is ignored.
|
|
|
|
|
|
|
|
The |g<| command can be used to see the last page of previous command output.
|
|
|
|
This is especially useful if you accidentally typed <Space> at the hit-enter
|
|
|
|
prompt.
|
|
|
|
|
2018-10-29 01:50:39 -07:00
|
|
|
vim:tw=78:ts=8:noet:ft=help:norl:
|