# Vim documentation: message

main help file

    *message.txt*   For Vim version 6.2a.  Last change: 2003 Apr 18

    		  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.

    1. Old messages		|:messages|
    2. Error messages	|error-messages|
    3. Messages		|messages|

    ==============================================================================

    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.

    The number of remembered messages is fixed at 20.

    If you are using translated messages, the first printed line tells who
    maintains the messages or the translations.  You can use this to contact the
    maintainer when you spot a mistake.

    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*

    When an error message is displayed, but it is removed before you could read
    it, you can see it again with:
      :echo errmsg
    or view a list of recent messages with:
      :messages

    LIST OF MESSAGES

    			*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*

    			*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*

    			*E323* *E341* *E473* *E570*
      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_timestamp: 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
      fatal error in cs_manage_matches

    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 the same name.

    							*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.  This is only allowed 200 times.  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 for "xxxx"
      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.
    Netscape is known to consume a lot of colors.  You can avoid this 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 set 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 .vimrc 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.

    							*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 (use ! to override)
      "{filename}" exists (use ! 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

    							*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*
      GUI cannot be used: Not enabled at compile time

    You are running a version of Vim that doesn't include the GUI code.  Therefore
    "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:

    This is an internal Vim error.  Please try to find out how it can be
    reproduced, and submit a bug report |bugreport.vim|.

    							*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 |/~|.

    							*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.

      /dev/dsp: No such file or directory

    Only given for GTK GUI with Gnome support.  Gnome tries to use the audio
    device and it isn't present.  You can ignore this error.

    							*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.  Check for trailing white space.

    							*E37* *E89*
      No write since last change (use ! to override)
      No write since last change for buffer {N} (use ! 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.

    							*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|

    							*E172*
      Only one file name allowed

    The ":edit" command only accepts one file name.  When you want to specify
    several files for editing use ":next" |:next|.

    						*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.  Also see |msdos-limitations|.

    							*E339*
      Pattern too long

    This only happens on systems with 16 bit ints: The compiled regexp pattern is
    longer than about 65000 characters.  Try using a shorter pattern.

    							*E45*
      'readonly' option is set (use ! 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 somewhere and stops with this error message.

    							*E319*
      Sorry, the command is not available in this version

    You have used a command that is not present in the version of Vim you are
    using.  When compiling Vim, many different features can be enabled or
    disabled.  This depends on how big Vim has chosen to be and the operating
    system.  See |+feature-list| for when which feature is available.  The
    |:version| command shows which feature Vim was compiled with.

    							*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 thought the tags file is not
    properly sorted.

    							*E460*
      The resource fork would be lost (add ! to override)

    On the Macintosh (classic), when writing a file, Vim attempts to preserve all
    info about a file, including its resource fork.  If this is not possible you
    get this error message.  Append "!" to the command name to write anyway (and
    lose the info).

    							*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 unexpected 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.  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.  You can find a hint on how to solve this here:
    	http://groups.yahoo.com/group/solarisonintel/message/12179.

    							*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.

    							*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.

    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.

    							*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*
      Warning: 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.

    							*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.

    						*connection-refused*
      Xlib: connection to "<machine-name:0.0" refused by server

    This happens when Vim tries to connect to the X server, but the X server does
    not allow a connection.  The connection to the X server is needed to be able
    to restore the title and for the xterm clipboard support.  Unfortunately this
    error message cannot be avoided, except by disabling the |+xterm_clipboard|
    and |+X11| features.

    							*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

    This happens when an Ex command with mandatory argument(s) was executed, but
    no argument has been specified.

    							*E474* *E475*
      Invalid argument

    An Ex command has been executed, but an invalid argument has been specified.

    							*E488*
      Trailing characters

    An argument has been added to an Ex command that does not permit one.

    							*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 %s"
      Can't read file %s"

    Vim cannot read a temporary file.

    							*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-abmiguous|
    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.

    ==============================================================================

    3. Messages						*messages*

    This is an (incomplete) overview of various messages that Vim gives:

    		*hit-enter* *press-enter* *hit-return* *press-return*

      Hit 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.

    -> Hit <Enter> or <Space> to redraw the screen and continue, without that key
       being used otherwise.
    -> Hit ":" or any other Normal mode command character to start that command.
    -> Hit <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' contians 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>.
    {Vi: only ":" commands are interpreted}

    To reduce the number of hit-enter prompts:
    - Set 'cmdheight' to 2 or higher.
    - Add flags to 'shortmess'.
    - Reset 'showcmd' and/or 'ruler'.

    Also see 'mouse'.  The hit-enter message is highlighted with the |hl-Question|
    group.

    						*more-prompt* *pager*
      -- More --
      -- More -- (RET: line, SPACE: page, d: half page, q: quit)
      -- More -- (RET/BS: line, SPACE/b: page, d/u: half page, 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
         <BS> or k or <Up>			one line back (*)
         <Space> or <PageDown>		next page
         b or <PageUp>			previous page (*)
         d					down half a page
         u					up half a page (*)
         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.

    (*) backwards scrolling is only supported for these commands:
        :clist
    (**) 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.

    top - main help file