Nvim :help
页面,生成 自 源代码 使用 tree-sitter-vimdoc 解析器。
{count}
条消息。{count}
条消息。<Space>
,这将特别有用。然后您将回到回车提示符,然后可以继续向后滚动。注意:如果输出在更多提示符下使用“q”停止,它将只显示到此点。当另一条命令产生输出时,上一条命令的输出将被清除。“g<” 输出不会被重定向。E72: Close error on swap file或(翻译)
E72: Errore durante chiusura swap file使用
:help E72如果您很懒,它也可以不使用 shift 键
:help e72
:echo v:errmsg或使用以下命令查看最近消息的列表
:messages参见上面的
:messages
。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}这是一个内部错误。如果您能够重现它,请提交错误报告。 错误
ATTENTION Found a swap file by the name ...参见 注意。
Buffer with this name already exists您不能有两个具有完全相同名称的缓冲区。这包括通往文件的路径。
Cannot switch buffer. 'winfixbuf' is enabled如果窗口启用了 'winfixbuf',则不能更改该窗口的当前缓冲区。您需要设置 'nowinfixbuf' 才能继续。如果您的命令支持,您可以使用 [!] 强制窗口切换缓冲区。
Command too recursive当 Ex 命令执行执行 Ex 命令的 Ex 命令时,等等,就会发生这种情况。限制为 200 或 'maxfuncdepth' 的值,以较大的者为准。当它更多时,可能存在无限循环。可能涉及 :execute 或 :source 命令。
Cannot allocate colormap entry, some colors may be incorrect这意味着没有足够的颜色可供 Vim 使用。它仍然可以运行,但一些颜色不会出现在指定的颜色中。尝试停止使用大量颜色的其他应用程序,或在启动 gvim 后启动它们。已知浏览器会消耗大量颜色。您可以通过告诉 netscape 使用其自己的颜色映射来避免使用 netscape。
netscape -install或者告诉它限制为一定数量的颜色(64 应该可以正常工作)
netscape -ncols 64这也可以在您的 Xdefaults 文件中使用一行代码完成
Netscape*installColormap: Yes或者
Netscape*maxImageColors: 64
Cannot expand wildcards文件名包含奇怪的字符组合,导致 Vim 尝试扩展通配符,但失败了。这并不意味着没有找到匹配的文件名,而是模式是非法的。
Cannot go back to previous directory在扩展文件名时,Vim 无法返回到先前使用的目录。现在使用的所有文件名可能都是无效的!您需要对当前目录具有执行权限。
Cannot open "{filename}" for writing Can't open file for writing由于某种原因,您正在写入的文件无法创建或覆盖。原因可能是您没有在目录中写入的权限,或者文件名无效。
Can't open linked file for writing您正在尝试写入一个无法覆盖的文件,并且该文件是一个链接(硬链接或符号链接)。如果包含链接或文件的目录可写,则仍然可以写入,但 Vim 现在不知道您是想删除链接并在其位置写入文件,还是想删除文件本身并在其位置写入新文件。如果您真的想用此名称写入文件,则必须手动删除链接或文件,或者更改权限,以便 Vim 可以覆盖。
Cannot unload last bufferVim 始终要求加载一个缓冲区,否则将无法在窗口中显示任何内容。
Can't open errorfile <filename>使用 ":make" 或 ":grep" 命令时:用于保存错误消息或 grep 输出的文件无法打开。这可能有几个原因
Can't open file C:\TEMP\VIoD243.TMP在 MS-Windows 上,当要读取外部命令的输出但命令未成功运行时,会显示此消息。这可能是由许多因素造成的。检查 'shell'、'shellquote'、'shellxquote'、'shellslash' 和相关选项。也可能是外部命令未找到,但对此没有不同的错误消息。
Command not allowed from exrc/vimrc in current dir or tag search出于安全原因,某些命令不允许使用。这些命令主要来自当前目录中的 .exrc 或 .nvimrc 文件,或来自标签文件。另见 'secure'。
Command too complex映射导致非常长的命令字符串。可能是由间接调用自身的映射引起的。
CONVERSION ERROR当写入文件并且出现“转换错误”文本时,这意味着从内部使用的 UTF-8 转换为文件格式时,一些位丢失了。该文件将不会被标记为未修改。如果您关心信息丢失,请将 'fileencoding' 选项设置为另一个可以处理缓冲区中字符的值,然后再次写入。如果您不关心,您可以放弃缓冲区或重置 'modified' 选项。如果存在备份文件,当设置了 'writebackup' 或 'backup' 时,它不会被删除,因此您可以将其移回原位,如果您想丢弃更改。
Error writing to "{filename}" Error closing "{filename}" Error reading "{filename}"当 Vim 尝试重命名文件但简单的文件名更改不起作用时,就会发生这种情况。然后将复制该文件,但不知何故失败了。结果可能是原始文件和目标文件都存在,并且目标文件可能不完整。
Vim: Error reading input, exiting...当 Vim 在需要输入时无法读取键入的字符时,就会发生这种情况。Vim 卡住了,它能做的唯一事情就是退出。当 stdin 和 stderr 都被重定向并且执行一个不退出 Vim 的脚本时,可能会发生这种情况。
Error while reading errorfile无法读取错误文件。这并非由无法识别的错误消息引起。
Error while writing写入文件未成功完成。该文件可能不完整。
File exists (add ! to override) "{filename}" exists (add ! to override)您受到保护,不会意外覆盖文件。如果您想写入,请使用相同的命令,但在命令后添加“!”。例如
:w /tmp/test更改为
:w! /tmp/test
Swap file exists: {filename} (:silent! overrides)您受到保护,不会覆盖正在由 Vim 编辑的文件。当您使用 ":w! filename" 并且找到交换文件时,就会发生这种情况。
{filename}
以查找有关交换文件的更多信息。:silent! w! /tmp/test
File is loaded in another buffer您正在尝试使用另一个缓冲区中也使用的名称写入文件。这将导致同一个文件的两个版本。
File not written: Writing is disabled by 'write' option“'write'” 选项已关闭。 这会导致所有尝试写入文件的命令生成此消息。 可能是由 -m 命令行参数引起的。 可以使用 ":set write" 打开 'write' 选项。
"{filename}" is a directory您尝试写入一个与目录同名的文件。 这是不可能的。 您可能需要添加一个文件名。
Mark has invalid line number您正在使用一个行号不存在的标记。 当您在另一个文件中有一个标记,而其他程序从该文件中删除了行时,就会发生这种情况。
Missing {. Missing }.在文件名中使用 {} 结构,但存在一个 { 却没有与之匹配的 } 或者反过来。 应该像这样使用它:
{foo,bar}
。 这匹配 "foo" 和 "bar"。{number} more files to edit您正在尝试退出,而参数列表中的最后一项尚未编辑。 这可以保护您在还有更多文件要处理时意外退出。 查看 argument-list。 如果您确实想要退出,只需再次执行该操作即可。
No file name当前缓冲区没有名称。 要写入它,请使用 ":w fname"。 或者使用 ":file fname" 给缓冲区命名。
No file name for buffer {number}其中一个已更改的缓冲区没有文件名。 因此无法写入。 您需要给缓冲区命名。
:buffer {number} :file {filename}
No previous substitute regular expression在模式中使用 '~' 字符时,它会被替换为 ":substitute" 命令中之前使用的模式。 当尚未使用此类命令时,这将失败。 查看 /~。 当使用 ":s/pat/%/" 时也会发生这种情况,其中 "%" 代表之前的替换字符串。
No previous regular expression当使用空搜索模式时,将使用之前的搜索模式。 但如果之前没有搜索,则这是不可能的。
No such abbreviation您已使用 ":unabbreviate" 命令,其参数不是现有的缩写。 此命令的所有变体都会显示相同的消息:":cunabbrev"、":iunabbrev" 等。 检查是否有尾随空格。
No such mapping您已使用 ":unmap" 命令,其参数不是现有的映射。 此命令的所有变体都会显示相同的消息:":cunmap"、":unmap!" 等。 一些提示
<buffer>
"。 :map-<buffer>No write since last change (add ! to override) No write since last change for buffer {N} (add ! to override)您正在尝试 放弃一个已更改的文件。 Vim 可以保护您免受丢失工作成果的影响。 您可以使用 ":w" 写入已更改的文件,或者,如果您确定,可以 放弃它,并丢失所有更改。 这可以通过在您使用的命令后面添加一个 '!' 字符来完成。 示例
:e other_file更改为
:e! other_file
No write since last change for buffer "{name}"当您尝试在某些缓冲区已更改的情况下退出 Vim 时,会出现此错误。 您要么需要写入已更改的缓冲区(使用 :w),要么使用命令强制放弃缓冲区,例如,使用 ":qa!"。 小心,确保您没有丢弃真正想要保留的更改。 您可能忘记了某个缓冲区,尤其是在 'hidden' 设置的情况下。
[No write since last change]当至少一个缓冲区已更改时执行 shell 命令时,会出现此错误。 要避免此消息,请重置 'warn' 选项。
Out of memory! Out of memory! (allocating {number} bytes) Cannot allocate any buffer, exiting... Cannot allocate buffer, using other one...哦,哦。 您一定在做一些复杂的事情,或者其他程序正在占用您的内存。 小心! Vim 尚未完全为内存不足的情况做好准备。 首先确保所有更改已保存。 然后尝试解决内存不足问题。 为了安全起见,请退出 Vim 并重新启动。
Pattern too long这发生在使用 16 位 int 的系统上:编译的正则表达式模式长度超过大约 65000 个字符。 尝试使用较短的模式。 当规则的偏移量不适合可用空间时,也会发生这种情况。 尝试简化模式。
'readonly' option is set (add ! to override)您正在尝试写入一个被标记为只读的文件。 要强制写入文件,请重置 'readonly' 选项,或在您使用的命令后面添加一个 '!' 字符。 示例
:w更改为
:w!
Read error in swap file Seek error in swap file read Oops, lost the swap file!!!Vim 尝试从 交换文件 中读取文本,但出现错误。 相关缓冲区中的文本现在可能已损坏! 在写入缓冲区之前仔细检查。 您可能希望将其写入另一个文件并检查差异。
Recursive use of :normal too deep您正在使用 ":normal" 命令,其参数再次以递归方式使用 ":normal" 命令。 这限制为 'maxmapdepth' 个级别。 此示例说明如何获取此消息
:map gq :normal gq<CR>如果您键入 "gq",它将执行此映射,这将再次调用 "gq"。
Scripts nested too deep可以使用 "-s" 命令行参数和
:source!
命令读取脚本。 然后脚本可以再次读取另一个脚本。 这可以继续进行大约 14 个级别。 当进行更多嵌套时,Vim 假设存在递归循环并使用此错误消息停止。Swap file already exists (symlink attack?)当 Vim 尝试打开交换文件并发现它已存在或发现其位置的符号链接时,会出现此消息。 这不应该发生,因为 Vim 已经检查了文件不存在。 要么其他人同时打开了同一个文件(非常不可能),要么有人试图进行符号链接攻击(在编辑 /tmp 中的文件时可能会发生,或者当 'directory' 以 "/tmp" 开头时,这是一个糟糕的选择)。
Tags file not sorted: {file name}Vim(和 Vi)期望标签文件按 ASCII 顺序排序。 然后可以使用二进制搜索,这比线性搜索快得多。 如果您的标签文件未正确排序,请重置 'tagbsearch' 选项。 此消息仅在 Vim 检测到搜索标签时出现问题时才会显示。 有时即使标签文件未正确排序,也不会显示此消息。
Too many different highlighting attributes in useVim 只能处理大约 223 种不同的突出显示类型。 如果您遇到此限制,说明您使用了太多带有不同参数的 :highlight 命令。 ":highlight link" 不计入。
Too many file names扩展文件名时,找到多个匹配项。 使用的命令只允许一个匹配项。
Unable to open swap file for "{filename}", recovery impossibleVim 无法创建交换文件。 您仍然可以编辑文件,但如果 Vim 意外退出,则更改将丢失。 而且 Vim 在编辑大文件时可能会消耗大量内存。 您可能希望更改 'directory' 选项以避免此错误。 当 'directory' 为空时,不会显示此错误。 查看 swap-file。
Use ! to write partial buffer当使用范围写入缓冲区的一部分时,覆盖原始文件并不常见。 这可能是一个错误(例如,在使用 ":w" 时,Visual 模式处于活动状态),因此 Vim 要求在命令后面添加一个 !,例如:":3,10w!"。
Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type VirtualBinding启动时会出现这样的消息。 这不是 Vim 问题,而是您的 X11 配置错误。
Warning: Changing a readonly file文件是只读的,而您仍然对它进行了更改。 您可以使用 FileChangedRO 自动命令事件来避免此消息(自动命令必须重置 'readonly' 选项)。 查看 'modifiable' 以完全禁止对文件进行更改。 此消息仅在 'readonly' 设置后第一次更改时显示。
Warning: File "{filename}" has been created after editing started您正在 Vim 中编辑一个文件,而它当时不存在,但现在存在。 您需要决定是要保留 Vim 中的版本还是新创建的文件。 当 'buftype' 不为空时,不会显示此消息。
Warning: File "{filename}" has changed since editing started您开始编辑的文件具有另一个时间戳,并且内容已更改(更准确地说:当使用当前选项设置和自动命令再次读取文件时,您将最终得到不同的文本)。 这可能意味着其他程序更改了文件。 您需要找出发生了什么,并决定要保留哪个版本的 文件。 如果您想自动执行此操作,请设置 'autoread' 选项。 当 'buftype' 不为空时,不会显示此消息。 另请查看 FileChangedShell 自动命令。
SET TZ=-1
Warning: File "{filename}" has changed and the buffer was changed in Vim as well与上面类似,并且该文件的缓冲区也在此 Vim 中更改。 您需要决定是要保留此 Vim 中的版本还是磁盘上的版本。 当 'buftype' 不为空时,不会显示此消息。
Warning: Mode of file "{filename}" has changed since editing started当缓冲区的时间戳发生变化,并且内容仍然相同,但模式(权限)发生变化时。 这通常发生在从版本控制系统检出文件时,这会导致只读位被重置。 重新加载文件应该是安全的。 设置 'autoread' 以自动重新加载文件。
File "{filename}" no longer available您开始编辑的文件已消失,或者不再可访问。 确保将缓冲区写入某个位置以避免丢失更改。 当 'buftype' 不为空时,不会显示此消息。
Warning: List of file names overflow您一定使用了太多缓冲区。 现在可能有两个缓冲区具有相同的编号,这会导致各种问题。 您可能需要退出 Vim 并重新启动它。
Buffer cannot be registered内存不足或缓冲区编号重复。 可能会在 W14 后发生。 查找缓冲区并不总是有效,最好重新启动 Vim。
Seek error in swap file write Write error in swap file这通常发生在磁盘已满时。Vim 无法将文本写入 交换文件。这本身没有直接的危害,但当 Vim 意外退出时,一些文本可能会丢失,并且无法恢复。如果这个问题持续存在,Vim 可能会耗尽内存。
\\ should be followed by /, ? or &以反斜杠开头的命令行,或命令范围中反斜杠的位置错误。这通常是由于命令行延续被禁用造成的。从 'cpoptions' 选项中删除 'C' 标志以启用它。
Argument requiredEx 命令在没有必需参数的情况下执行。
Invalid argument Invalid argument: {arg} Duplicate argument: {arg}Ex 命令或函数被赋予了无效的参数。或者 jobstart() 或 system() 被赋予了一个不可执行的命令。
Trailing characters Trailing characters: {text}Ex 命令被赋予了一个不允许的参数。或者参数包含无效字符,无法识别。
Can't open file {filename} Can't read file {filename}Vim 无法读取临时文件。特别是在 Windows 上,这可能是由于 cmd.exe 对特殊字符的错误转义造成的;这种方法在补丁 7.3.443 中进行了更改。尝试对提供给 system() 的所有 shell 参数使用 shellescape(),或显式地使用 ^ 添加转义。另请参见 'shellxquote' 和 'shellxescape'。
Ambiguous use of user-defined command有两个用户定义的命令具有相同的名称前缀,你使用了命令行补全来执行其中一个。 user-cmd-ambiguous 示例
:command MyCommand1 echo "one" :command MyCommand2 echo "two" :MyCommand
Not an editor command你尝试执行的命令既不是 Ex 命令,也不是用户定义的命令。
Cannot set this option after startup你尝试在启动后设置一个选项,该选项只允许在启动期间更改。
Command table needs to be updated, run 'make'这只能发生在更改源代码后,在 src/ex_cmds.lua 中添加命令后。通过重新运行构建来更新查找表。
Press ENTER or type command to continue当屏幕上有要你阅读的内容,并且屏幕即将重新绘制时,会显示此消息
<Enter>
或 <Space>
重新绘制屏幕并继续,而不使用该键的其他功能。 -> 按 ':' 或任何其他普通模式命令字符来启动该命令。请注意,在执行外部命令后,某些特殊键(如光标键)可能无法正常工作,因为终端仍然处于执行外部命令的状态。 -> 按 'k'、<Up>
、'u'、'b' 或 'g' 在消息中向后滚动。这与在 more-prompt 中的工作方式相同。仅在 'more' 处于打开状态时才有效。 -> 当消息从屏幕顶部滚动掉,并且 'more' 处于打开状态时,按 'j'、'f'、'd' 或 <Down>
将被忽略,以避免多按一次 'j' 或 'f' 导致消息消失。 -> 按 <C-Y>
将无模式选择复制(粘贴)到剪贴板寄存器。 -> 使用菜单。定义的 Cmdline-mode 字符将被使用。 -> 当 'mouse' 包含 'r' 标志时,单击鼠标左键就像按 <Space>
一样。但这将无法选择文本。 -> 对于 GUI,在最后一行单击鼠标左键就像按 <Space>
一样。-- More -- -- More -- SPACE/d/j: screen/page/line down, b/u/k: up, q: quit当屏幕被消息填满时,会显示此消息。只有当 'more' 选项处于打开状态时,才会显示此消息。它将使用 hl-MoreMsg 组突出显示。
<CR>
或 <NL>
或 j 或 <Down>
向下一行 d 向下翻页(半屏) <Space>
或 f 或 <PageDown>
向下翻屏 G 向下滚动到底,直到 hit-enter 提示<BS>
或 k 或 <Up>
向上一行 u 向上翻页(半屏) b 或 <PageUp>
向上翻屏 g 回到开头<Esc>
或 CTRL-C
停止列表 : 停止列表并进入命令行 <C-Y>
粘贴(复制)无模式选择到剪贴板("* 和 "+" 寄存器) {menu-entry}
菜单在 Cmdline-mode 中定义的内容。 <LeftMouse>
下一页*<Space>
时特别有用。