mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-03 17:24:29 +00:00 
			
		
		
		
	Problem:  E1513 might be confusing
          (Christoph Thoma)
Solution: reword error message, fix test to not
          depend on the actual message
fixes: vim/vim#14189
0a32b8854b
Co-authored-by: Christian Brabandt <cb@256bit.org>
		
	
		
			
				
	
	
		
			847 lines
		
	
	
		
			30 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			847 lines
		
	
	
		
			30 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
*message.txt*   Nvim
 | 
						|
 | 
						|
 | 
						|
		  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.
 | 
						|
 | 
						|
                                      Type |gO| to see the table of contents.
 | 
						|
 | 
						|
==============================================================================
 | 
						|
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.
 | 
						|
 | 
						|
	:mes[sages]		Show all messages.
 | 
						|
 | 
						|
	:{count}mes[sages]	Show the {count} most recent messages.
 | 
						|
 | 
						|
	:mes[sages] clear	Clear all messages.
 | 
						|
 | 
						|
	:{count}mes[sages] clear
 | 
						|
				Clear messages, keeping only the {count} most
 | 
						|
				recent ones.
 | 
						|
 | 
						|
The number of remembered messages is fixed at 200.
 | 
						|
 | 
						|
								*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.
 | 
						|
The "g<" output is not redirected.
 | 
						|
 | 
						|
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
 | 
						|
Or view a list of recent messages with: >
 | 
						|
  :messages
 | 
						|
See `:messages` above.
 | 
						|
 | 
						|
LIST OF MESSAGES
 | 
						|
			*E222* *E228* *E232* *E293* *E298* *E304* *E317*
 | 
						|
			*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
 | 
						|
			*E323* *E341* *E473* *E570* *E685* *E292*  >
 | 
						|
  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
 | 
						|
  Invalid count for del_bytes(): {N}
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
You cannot have two buffers with exactly the same name.  This includes the
 | 
						|
path leading to the file.
 | 
						|
 | 
						|
							*E1513* >
 | 
						|
  Cannot switch buffer. 'winfixbuf' is enabled
 | 
						|
 | 
						|
If a window has 'winfixbuf' enabled, you cannot change that window's current
 | 
						|
buffer. You need to set 'nowinfixbuf' before continuing. You may use [!] to
 | 
						|
force the window to switch buffers, if your command supports it.
 | 
						|
 | 
						|
							*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
 | 
						|
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.
 | 
						|
 | 
						|
							*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
 | 
						|
come from a .exrc or .nvimrc file in the current directory, or from a tags
 | 
						|
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.
 | 
						|
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.
 | 
						|
 | 
						|
							*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*  >
 | 
						|
  Nvim does not have a built-in GUI
 | 
						|
 | 
						|
Nvim does not have a built in GUI, so `:gvim` and `:gui` don't work.
 | 
						|
 | 
						|
							*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
 | 
						|
reproduced, and submit a |bug-report|.
 | 
						|
 | 
						|
							*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
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
							*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
 | 
						|
to avoid this error.  This error is not given when 'directory' is empty.  See
 | 
						|
|swap-file|.
 | 
						|
 | 
						|
							*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
 | 
						|
X11 configuration is wrong.
 | 
						|
 | 
						|
							*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.
 | 
						|
Also see the |FileChangedShell| autocommand.
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
If you get W11 all the time, you may need to disable "Acronis Active
 | 
						|
Protection" or register Vim as a trusted service/application.
 | 
						|
 | 
						|
							*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.
 | 
						|
 | 
						|
							*E931*  >
 | 
						|
  Buffer cannot be registered
 | 
						|
 | 
						|
Out of memory or a duplicate buffer number.  May happen after W14.  Looking up
 | 
						|
a buffer will not always work, better restart Vim.
 | 
						|
 | 
						|
							*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
 | 
						|
 | 
						|
Ex command was executed without a mandatory argument(s).
 | 
						|
 | 
						|
							*E474* *E475* *E983*  >
 | 
						|
  Invalid argument
 | 
						|
  Invalid argument: {arg}
 | 
						|
  Duplicate argument: {arg}
 | 
						|
 | 
						|
Ex command or function was given an invalid argument. Or |jobstart()| or
 | 
						|
|system()| was given a non-executable command.
 | 
						|
 | 
						|
							*E488*  >
 | 
						|
  Trailing characters
 | 
						|
 | 
						|
An argument was given to an Ex command that does not permit one.
 | 
						|
Or the argument has invalid characters and has not been recognized.
 | 
						|
 | 
						|
							*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.
 | 
						|
 | 
						|
							*E905*  >
 | 
						|
  Cannot set this option after startup
 | 
						|
 | 
						|
You tried to set an option after startup that only allows changes during
 | 
						|
startup.
 | 
						|
 | 
						|
							*E943*  >
 | 
						|
  Command table needs to be updated, run 'make'
 | 
						|
 | 
						|
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. >
 | 
						|
 | 
						|
==============================================================================
 | 
						|
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.
 | 
						|
   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.
 | 
						|
-> Press 'k', <Up>, 'u', 'b' or 'g' to scroll back in the messages.  This
 | 
						|
   works the same way as at the |more-prompt|.  Only works when 'more' is on.
 | 
						|
-> Pressing 'j', 'f', 'd' or <Down> is ignored when messages scrolled off the
 | 
						|
   top of the screen and 'more' is on, to avoid that typing one 'j' or 'f' too
 | 
						|
   many causes the messages to disappear.
 | 
						|
-> 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'.
 | 
						|
- Make sure `:echo` text is within |v:echospace| screen cells.
 | 
						|
 | 
						|
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
 | 
						|
 | 
						|
     <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
 | 
						|
 | 
						|
     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.
 | 
						|
    <LeftMouse>				next page*
 | 
						|
 | 
						|
Any other key causes the meaning of the keys to be displayed.
 | 
						|
 | 
						|
* 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).
 | 
						|
 | 
						|
 | 
						|
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.
 | 
						|
 | 
						|
 vim:tw=78:ts=8:noet:ft=help:norl:
 |