":messages" 命令可查看过往输出的消息。适合重新检视可能被覆盖或截短的历史消息。
消息具体的显示方式取决于 'shortmess' 选项。
:mes[sages] 显示所有历史消息。
:{count}mes[sages] 显示最新 {count} 条消息。
:mes[sages] clear 清空所有历史消息。
:{count}mes[sages] clear
清空旧消息,仅保留最新 {count} 条消息。
保存的消息总数由 'messagesopt' 选项控制。
g<
本命令用于察看上一条命令输出的最后一页内容。在提示 "请按回车继续" 时,容易误按
<Space> 翻页跳过有用信息。本命令可回到按回车继续的提示画面,然后可向上翻页查看
更早输出。
注意:
在提示显示更多信息时如果按 "q" 提前退出,仅能查看退出前的内容。
执行新命令产生输出时,旧命令的输出缓存会被清空。
本命令的输出无法被重定向捕获。
使用翻译消息 (如中文消息) 时,首行会显示消息或翻译维护者信息。发现问题可据此联
系维护者。
要查找特定 (提示或错误) 消息,可用消息开头的 ID 编号作为帮助主题。例如,要获取
以下消息的帮助:
E72: Close error on swap file
或 (翻译版本):
E72: 交换文件关闭错误
可用:
:help E72
大小写不敏感:
:help e72
编号本身并无特殊含义,仅用作唯一标识。
错误消息如果来不及阅读,有两种查看方式:
:echo errmsg
显示最近一条错误。或者查看完整最新消息列表:
:messages
见上 :messages 。
消 息 列 表
E222 E228 E232 E292 E293 E298 E304 E316
E317 E318 E320 E322 E323 E341 E356 E438
E439 E440 E473 E570
Add to read buffer
makemap: Illegal mode
Cannot create BalloonEval with both message and callback
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} in buffer {nr} {name}
line number out of range: {N} past the end
line count wrong in block {N}
Internal error: lalloc(0, )
Internal error: {function}
Internal error in regexp
fatal error in cs_manage_matches
Invalid count for del_bytes(): {N}
E340 E685 internal-error
内部错误。如果能稳定复现,请提交漏洞报告,参见 bugs 。
注意
发现交换文件 ...
见 ATTENTION 。
E92
E92: 找不到缓冲区 {N}
请求缓冲区不存在。真正删除缓冲区 ( :bwipeout ) 后,如果该缓冲区仍包含位置标记
或通过其他途径被引用的缓冲区,也会触发此报错。
E95
已有缓冲区使用该名称
缓冲区不能重名。此处使用文件完整路径。
E1513
不能切换缓冲区,'winfixbuf' 已启用
如果窗口打开 'winfixbuf',无法切换该窗口的缓冲区。需先设置 'nowinfixbuf' 解除
锁定。部分命令支持通过 [!] 命令后缀强制切换缓冲区。
E72
交换文件关闭错误
无法正确关闭缓存编辑内容的交换文件 swap-file 。一般无害。
E169
命令递归层数过多
Ex 命令递归调用 (命令嵌套执行其他命令) 层级超出限制,递归上限为 200 层或
'maxfuncdepth' 二者较大值。超出基本意味着无穷循环。通常由 :execute 或
:source 引发。
E254
无法分配颜色 {颜色名}
指定的颜色名未知。主流系统可用颜色可见 gui-colors 。
E1244
无效的颜色的字符串: {颜色字符串}
传入的颜色字符串不符合 #rrggbb 色彩格式。
E458
无法分配颜色表项,某些颜色可能不正确
系统可用色彩槽位不足。Vim 仍可运行,但部分高亮配色会显示异常。解决方法是关闭其
他大量占用调色板的程序,或先启动 gvim 再打开其他程序。
已知浏览器占用大量色彩。以 netscape 为例,可独立分配调色板:
netscape -install
或者指定使用色彩数上限 (64 应已足够):
netscape -ncols 64
也可通过 Xdefaults 文件永久设置:
Netscape*installColormap: Yes
或
Netscape*maxImageColors: 64
<
E79
无法扩展通配符
文件名包含特殊字符组合,导致 Vim 尝试通配符扩展但操作失败。这 不一定 代表没有
匹配文件名,只代表指定的通配模式无效。
E459
无法回到前一个目录
解析文件名过程中,Vim 尝试切回最近使用的目录但失败。当前所有文件路径可能失效!
可能原因是,当前目录缺少可执行 (用于目录则为可遍历) 权限。
E190 E212
无法打开并写入 "{文件名}"
无法打开并写入文件
无法新建或覆盖目标文件。可能原因是,没有目录写权限,或文件名非法。
E166
无法打开并写入链接文件
覆盖目标文件时如果失败,通常会尝试先删除该文件再新建文件。但如果目标是链接 (硬
链接或符号链接),即使存放该链接或源文件的目录可写,Vim 因为无法判断用户意图是
删除链接并在其位置写入新文件,还是删除源文件本身再以新文件替换,因此只能报错。
如果确实有此需要,请先手动删除链接或源文件,或调整权限以允许覆盖。
E46
不能改变只读变量 "{变量名}"
试图修改只读变量,包括函数参数 a:var 或 Vim 内置只读变量 v:var 。
E90
无法释放最后一个缓冲区
Vim 必须保留至少一个加载缓冲区,窗口才有内容可展示。
E40
无法打开错误文件 <文件名>
执行 :make 或 :grep 命令时,用于存放错误信息或检索输出的临时文件无法打开。
可能原因如下:
- 'shellredir' 配置错误。
- 外壳内部切换了目录,导致临时文件被写到其他路径;调整 'makeef' 可修正路径,但
make 命令仍会在错误目录执行。
- 'makeef' 文件名配置有误。
- 'makeprg' 或 'grepprg' 外部程序无法执行。有时很难发现 (尤其在 MS-Windows 环
境上),请检查系统环境变量 $PATH。
无法打开文件 C:\TEMP\VIoD243.TMP
MS-Windows 上,读取外部命令输出时,临时文件打开失败,这代表外部命令执行异常。
需要排查配置 'shell'、'shellquote'、'shellxquote'、'shellslash' 和相关选项。
也可能是外部程序不存在,该场景无单独提示。
E12
当前目录中的 exrc/vimrc 或 tag 查找中不允许此命令
由于安全限制,禁止执行来自当前目录的 .exrc 或 .vimrc 或标签文件中定义的高危命
令。另见 'secure'。
E74
E74: 命令过复杂
映射展开后生成的命令行字符串过长。常见诱因是映射间接自我调用。
转换错误
保存文件时,本提示代表缓冲区内部 UTF-8 文本转目标文件编码时丢失了字符数据。此
时,文件不会清除已修改标志位,如果在意信息丢失,请修改 'fileencoding' 为能完整
承载缓冲区字符的编码后重新保存;如果不在意,可直接放弃缓冲区,或手动复位
'modified'。
开启 'writebackup' 或 'backup' 时,生成的备份文件不会被删除,可用于恢复原始文
件并舍弃本次修改。
E302
无法重命名交换文件
修改文件名时 Vim 同步尝试重命名交换文件 ( swap-file ) 但失败。此时旧交换文件继
续生效,一般无害。
E43 E44
Damaged match string
Corrupted regexp program
Vim 内部正则表达式解析异常、正则引擎损坏。能稳定复现请提交漏洞报告 bugs 。
E208 E209 E210
写入文件 "{文件名}" 出错
关闭文件 "{文件名}" 出错
读取文件 "(文件名}" 出错
如果简单重命名文件失败,Vim 转而通过复制文件再删除原始文件实现重命名,但此过程
中途出错。此时可能同时存在原始文件与不完整的目标文件。
Vim: 读错误,退出中...
Vim 需要读取输入但无法获取字符,此时程序卡死只能退出。典型场景是标准输入、标准
输出均被重定向,且执行的脚本不会主动退出 Vim。
E47
读取错误文件失败
读取快速修正错误文件时失败。 并非 报错内容无法识别导致。
E80
写入出错
文件写入未完整完成,保存的目标文件可能不完整。
E13 E189
文件已存在 (请加 ! 强制执行)
"{文件名}" 已存在 (请加 ! 强制执行)
Vim 防止误覆盖已有文件。可通过命令后加 "!" 强制覆盖。示例:
:w /tmp/test
要强制覆盖,可改为:
:w! /tmp/test
E768
交换文件已存在: {文件名} (:silent! 强制执行)
系统能够保护用户避免覆盖其他 Vim 正在编辑的文件。执行 `:w! 文件名` 时检测到交
换文件就会触发本提示。
- 如果交换文件是上次异常崩溃遗留,可手动删除交换文件;直接打开 {文件名} 能查看
交换文件详情。
- 如果执意强制写入,可在命令前加 :silent! 。例如:
:silent! w! /tmp/test
因为 w! 的 "!" 仅用于覆盖已有文件,无法绕过交换文件校验,所以必须搭配特殊
命令 silent! 。
E139
文件已在另一个缓冲区中被加载
需要保存的文件名已在其他缓冲区打开,不禁止会造成同一文件存在两份独立编辑副本。
E142
文件未写入: 写入被 'write' 选项禁用
'write' 选项被关闭,导致所有其后的写文件命令都会报错。常因启动 Vim 时加了命令
行参数 -m 导致。要恢复写入权限,可用 `:set write`。
E25
无法使用图形界面: 编译时没有启用
当前编译的 Vim 未内置图形界面代码,"gvim" 程序、 :gui 命令均不可用。
E49
无效的滚动大小
给 'scroll'、'scrolljump' 或者 'scrolloff' 配置了非法数值。
E17
"{filename}" 是目录
试图以目录名作为文件名保存文件,不合法;通常需要附加文件名部分构成完整文件名。
E19
标记的行号无效
使用的位置标记指向不存在的行。典型场景是外部程序删除了位置标记所在文件的部分
行,导致标记行号失效。
E219 E220
缺少 {。
缺少 }。
文件名通配符 {} 括号不匹配,要么缺左大括号,要么缺右大括号。正确写法是
{foo,bar},可匹配 "foo"、"bar" 两个文件。
E315
ml_get: invalid lnum: {number}
Vim 内部底层错误。若能稳定复现,请提交漏洞报告 bugreport.vim 。
E173
还有 {数值} 个文件待编辑
参数列表还有未编辑完的文件,首次退出会拦截提醒,防止误关闭未处理文件,参见
argument-list 。要坚持退出,再执行一次退出命令即可。
E23 E194
没有交替文件
没有用于替换 '#' 的交替文件名
尚未设置轮换文件,'#' 无法被替换。详见 alternate-file 。
E32
没有文件名
当前缓冲区无文件名。保存需指定路径 `:w 文件名`。也可先用 `:file 文件名` 给缓冲
区命名。
E141
缓冲区 {缓冲区编号} 没有文件名
缓冲区已修改但无文件名,无法直接保存。需要先为缓冲区指定文件名:
:buffer {缓冲区编号}
:file {文件名}
E33
没有前一个替换正则表达式
正则模式中的 '~' 字符会被上次执行的替代命令 :substitute 使用的替代字符串替
换,但如果此前未执行过任何替代操作,报错。见 /~ 。
使用 `:s/pat/%/ `时 (其中 '%' 代表上次替代字符串) 也会发生类似问题。
E35
没有前一个正则表达式
搜索时传入空模式时,Vim 会复用上次搜索模式,但如果从未执行过搜索操作,报错。
E24
没有这个缩写
执行 :unabbreviate 、 :cunabbrev 、 :iunabbrev 时试图删除不存在的缩写。需要
检查命令末尾是否多余空格。
/dev/dsp: No such file or directory
仅出现在带 GNOME 支持的 GTK GUI 版本;GNOME 尝试调用音频设备但设备不存在,可直
接忽略。
E31
没有这个映射
执行 :unmap 、 :cunmap 、 :unmap! 时试图删除不存在的按键映射。排查提示:
- 需要检查映射名称末尾是否多余空格。
- 删除缓冲区局部映射时必须加 <buffer> 参数,见 :map-<buffer> 。
E37 E89
已修改但尚未保存 (可用 ! 强制执行)
缓冲区 %d 已修改但尚未保存 (请加 ! 强制执行)
如果缓冲区存在未保存修改,执行 abandon 放弃文件操作会被拦截,防止丢失编辑内
容。可以先执行 :w 保存修改,或在命令后加 "!" 强制丢弃修改。示例:
:e 另一文件
要强制放弃修改,切换文件,可改为:
:e! 另一文件
E162
缓冲区 "{缓冲区名}" 已修改但尚未保存
退出 Vim 时存在已修改但未保存的缓冲区。可用 :w 逐个保存缓冲区,或用 :qa!
等命令强制全部退出并丢弃所有修改 (谨慎使用,开启 'hidden' 时容易遗忘后台已修改
的缓冲区)。
[已修改但尚未保存]
存在未保存缓冲区时执行外部外壳命令会触发本提示。要关闭提示,可复位 'warn' 选
项。
E38
Null argument
Vim 内部出现空指针异常。若能稳定复现该问题,请提交漏洞报告 bugs 。
E41 E82 E83 E342
内存不足!
无法分配任何缓冲区,退出程序...
无法分配缓冲区,使用另一个缓冲区...
内存不足!(分配 {内存空间} 字节)
内存耗尽。大概率是执行了复杂操作,或其他程序占用大量系统内存。风险提示!Vim 处
理内存不足的场景不完善,请优先保存所有修改,再处理内存问题。稳妥方案是退出 Vim
重新启动。
如果在 Vim 初始化阶段就触发内存不足,编辑功能基本无法使用,程序会以退出码 123
终止。
缓冲区内容不会全部常驻内存,超大文件编辑一般不会触发内存溢出。但撤销记录完整存
于内存,可通过以下配置减少内存占用:
- 'undolevels' 调低数值,设为 -1 完全关闭撤销;适合影响全局所有行的修改。
- 'undoreload' 设为 0 关闭重载撤销缓存。
E339
模式太长
16 位整型系统上,编译后的正则表达式总长度超过约 65000 字符,需简化模式。
正则规则偏移量超出存储上限也会发生类似问题,同样需要精简模式。
E45
已设定选项 'readonly' (请加 ! 强制执行)
如果缓冲区标记为只读,禁止直接保存。有两种解决方法。复位 'readonly',或在命令
后加 '!' 强制保存。例如:
:w
要强制保存,可改为:
:w!
E294 E295 E301
交换文件读取定位错误
交换文件读取错误
噢,交换文件不见了!!!
Vim 读取交换文件 ( swap-file ) 失败,对应缓冲区内容存在损坏风险。保存前务必仔
细核对内容,建议另存为新文件比对差异。
E192
:normal 递归层数过深
:normal 命令递归嵌套层级超限,上限由 'maxmapdepth' 控制。
示例 (自递归映射触发报错):
:map gq :normal gq<CR>
按下 gq 会无限递归调用自身映射,超出深度限制后报错。
E22
脚本嵌套过深
脚本通过 -s 命令行参数和 :source! 加载。脚本支持嵌套调用,最大嵌套层级约
14 层。超过该层数 Vim 判断存在无限递归循环,终止执行并触发本错误。
E319
抱歉,命令在此版本中不可用
执行的命令在当前 Vim 版本中不存在。编译 Vim 时可按需开关各类功能,也取决于编译
配置的特性包大小与操作系统。功能清单见 +feature-list 。当前编译启用特性可见
:version 。
E300
交换文件已存在 (符号连接攻击?)
Vim 创建交换文件时发现目标位置已有文件或软链接。
正常流程下 Vim 会提前校验文件不存在,出现该提示有两种可能。另一进程同时打开同
一文件 (概率极低); 或存在软链接攻击风险 (编辑 /tmp 下的临时文件或 'directory'
选项的首个目录为 "/tmp" 时都可能发生,因此不推荐如此配置)。
E432
Tag 文件未排序: {文件名}
Vim (和 Vi 兼容) 要求标签文件按 ASCII 顺序排序,以此二分查找加速检索;标签未排
序会触发此报错。临时方案是关闭 'tagbsearch',禁用二分检索。
仅在搜索标签过程中检测到错乱时触发,并非所有乱序标签文件一定触发提示。
E424
使用了太多不同的高亮度属性
Vim 只能处理 223 种不同的高亮。大量使用不同参数的 :highlight 命令会导致上限
超出。`:highlight link` 高亮链接不计算在内。
E77
文件名过多
通配符展开匹配到多个文件,但当前命令仅允许单个文件匹配。
E303
无法打开 "{文件名}" 的交换文件,恢复将不可能
无法创建交换文件,仍可正常编辑,但存在隐患,Vim 异常退出后所有修改全部丢失。
大文件编辑会占用大量内存。解决方法是,修改 'directory' 选项,更换交换文件存放
目录。'directory' 为空时不会触发提示。见 swap-file 。
E140
请使用 ! 来写入部分缓冲区
使用范围仅写出缓冲区部分内容时,直接覆盖原文件存在误操作风险 (如可视模式误执行
:w ),必须通过命令后加 "!" 强制覆盖,如 :3,10w! 。
Warning: Cannot convert string "<Key>Escape,_Key_Cancel" to type
VirtualBinding
启动时触发该提示不属于 Vim 本身故障,是 X11 窗口系统配置异常。相关提示如下:
http://groups.yahoo.com/group/solarisonintel/message/12179。
[此 URL 已不可用]
W10
警告: 正在修改只读文件
文件为只读状态,但用户仍在修改内容。可通过 FileChangedRO 自动命令,在自动事
件内复位 'readonly'。复位 'modifiable' 可彻底禁止修改。
仅在只读标记生效后的第一次编辑触发本警告。
W13
警告: 编辑开始后,文件 "{文件名}" 已被创建
打开文件时该文件不存在,但在编辑途中,外部程序新建了同名文件。需要二选一,保留
Vim 内编辑版本,还是磁盘上新生成的文件。'buftype' 非空时不会触发本提示。
W11
警告: 编辑开始后,文件 "{文件名}" 已变动
正在编辑的文件在外部修改了时间戳 (修改时间) 以及内容 (更准确地说,使用相同选项
及自动命令读取的文本发生了变化)。通常由外部程序造成。需自行核对差异,选择保留
磁盘版本还是缓冲区版本;开启 'autoread' 选项可自动重载外部更新。'buftype' 非空
时不触发;另见 FileChangedShell 自动命令。
会弹出对话框,提供以下选项:
"确定": 忽略警告继续编辑。不加载更改,缓冲区保持原状。
"加载文件": 从磁盘重新加载文件,覆盖缓冲区。未保存的本地修改全部丢失。
"加载文件和选项":
重新加载文件,并同时应用相关文件设置,如缩进、语法高亮、文本宽
度和其它文件类型特定选项。可确保缓冲区加载后不影响原有设置和自
动命令。
Windows 上,夏令时切换当天保存文件会误触发。可选修正方案如下:
- 在 autoexec.bat 增加下行:
SET TZ=-1
将 "-1" 替换为本地时区值。
- 关闭系统 "根据夏令时时间自动调整时钟" 选项。
- 次日再保存文件。或临时把系统日期调后一天,保存两次再改回时间。
若频繁触发 W11,可能需要关闭 "Acronis 主动防护",或将 Vim 登记为受信任服务/程
序。
W12
警告: 文件 "{文件名}" 已变动,并且在 Vim 中的缓冲区也已变动
与上述类似,磁盘文件已被外部修改,同时在 Vim 内也做了未保存修改,存在两份不同
版本,需要手动取舍。'buftype' 非空时不触发本提示。
W16
警告: 编辑开始后,文件 "{文件名}" 的权限模式已变动
文件内容无变化,但文件权限 (模式) 发生变动,缓冲区时间戳也被更新。常见场景是从
版本控制系统检出文件并自动清除只读位。直接重载文件应该安全;可开启 'autoread'
自动同步权限。
E211
文件 "{文件名}" 已经不存在
正在编辑的文件已被删除,或当前无访问权限。请尽快另存缓冲区,防止修改丢失。
'buftype' 不为空时,不会触发本提示。
W14
警告: 文件名过多
打开的缓冲区数量过多,缓冲区编号可能出现重复,会引发各类异常。建议重启 Vim。
E931
缓冲区无法注册
内存溢出或缓冲区编号冲突,常在 W14 溢出后出现。缓冲区查找功能会不稳定,最好重
启 Vim。
E296 E297
交换文件写入定位错误
交换文件写入错误
多半是磁盘空间已满,Vim 无法写入交换文件 ( swap-file )。短期无直接危害,但程序
异常退出时修改无法恢复;持续报错会导致内存耗尽。
connection-refused
Xlib: connection to "<machine-name:0.0" refused by server
Vim 尝试连接 X 窗口服务器被拒绝。仅当连接 X 成功才能进行窗口标题还原、xterm 剪
贴板互通。需要关闭 +X11 、 +xterm_clipboard 编译特性才能彻底屏蔽本提示。
E10
\\ 后面应该跟有 /、? 或 &
命令行开头出现反斜杠、或命令行范围在错误位置使用了反斜杠,常见原因是命令行续行
功能关闭。可从 'cpoptions' 里移除 'C' 标志位,或执行 `:set nocp` 打开。
E471
需要参数
执行了必须携带参数的 Ex 命令,但未传入任何参数。
E474 E475 E983
无效的参数
无效的参数: {参数}
重复的参数: {参数}
调用 Ex 命令或函数时传入非法参数,或重复传入同名参数。
E488
多余的尾部字符
多余的尾部字符: {文本}
命令不支持附加参数,但额外传入了内容;或是参数包含无法识别的非法字符。
E477 E478
不能使用 "!"
不要慌!
在不支持 "!" 后缀的 Ex 命令后添加了 "!" 修饰符。
E481
不能使用范围
在不支持范围参数的 Ex 命令前加了范围。见 cmdline-ranges 。
E482 E483
无法创建文件 {文件名}
无法获取临时文件名
Vim 无法创建临时文件。
E484 E485
无法打开文件 {文件名}
无法读取文件 {文件名}
Vim 无法读取临时文件。Windows 平台常见诱因是传给 cmd.exe 的特殊字符转义错误,
7.3.443 补丁调整过相关逻辑。解决方案是,传给 system() 的所有外壳参数全部使用
shellescape() 转义,或直接手动用 ^ 做 cmd 转义。另见 'shellxquote'、
'shellxescape' 选项。
E464
不确定的用户自定义命令
存在两条拥有相同前缀的自定义命令,通过命令行补全调用时出现匹配歧义。参见
user-cmd-ambiguous 。
示例:
:command MyCommand1 echo "one"
:command MyCommand2 echo "two"
:MyCommand
输入 :MyCommand 无法确定要执行哪一条,触发报错。
E492
不是编辑器的命令
执行的字符串既不是内置 Ex 命令,也不存在同名用户命令。
E943
Command table needs to be updated, run 'make cmdidxs'
仅当修改 Vim 源码且在 src/ex_cmds.h 中新增命令时触发。需要执行以下命令,重建索
引表:
make cmdidxs
E928 E889
需要字符串
需要整数
表达式或变量值类型不匹配,例如当前需要字符串却传入数值,或反之。
下文是 Vim 各类提示信息的不完全汇总说明:
hit-enter press-enter hit-return
press-return hit-enter-prompt
请按 ENTER 或其它命令继续
如果屏幕上有内容需要阅读,而内容即将因屏幕重绘而消失时,Vim 会触发本「按回车继
续」分页提示:
- 执行外部外壳命令后 (如 :!ls 和 = )。
- 状态行输出内容超出窗口宽度,挤占 'showcmd' 或 'ruler' 显示区域。
-> 按 <Enter> 或 <Space> 刷新界面并继续,按键无其他附加作用。
-> 按 : 或普通模式任意命令字符时,直接执行对应命令。注意执行外部命令后,光标
键等特殊按键可能失效,因为终端仍处于外部命令执行模式未复原。
-> 按 'k'、<Up>、'u'、'b' 或 'g' 键向上回滚历史输出。和 more-prompt 分页逻辑
一致。仅当关闭 'compatible' 且打开 'more' 时有效。
-> 按 'j'、'f'、'd' 或 <Down> 键向下滚动显示更多输出。但消息已滚动到屏幕顶部、
'compatible' 关闭且 'more' 打开时这些键失效。避免误触 'j' 或 'f' 太多次清空
输出。
-> 按 <C-Y> 无模式选中文本复制到剪贴寄存器。
-> 可通过命令行模式定义的快捷键使用菜单 ( :cmenu )。
-> 'mouse' 选项包含 'r' 标志位时,左键点击等同于 <Space>,但无法用于选中文字。
-> GUI 模式上,鼠标左键点击末行也等同于 <Space>。
-> 按 q 不会启动宏录制到寄存器功能 (因为用户常用此键来退出 ("quit") 提示)。
如果不小心按 <Enter> 或 <Space> 清空页面,可输入 g< 恢复上一页输出,仅当置位
'more' 时可用。
如果本提示触发过于频繁,可考虑:
- 设置 'messagesopt'。
- 将 'cmdheight' 设为 2 或者更高。
- 在 'shortmess' 里增加标志位,精简提示文字。
- 复位 'showcmd' 和/或 'ruler'。
- 确保 :echo 文本不长于 v:echospace 屏幕单元格。
如果脚本无故触发本提示,可借助变量 v:scrollstart 定位输出源头。
另见 'mouse'。本提示使用 hl-Question 高亮组。
more-prompt pager
-- 更多 --
-- 更多 -- 空格/d/j: 屏幕/页/行 下翻,b/u/k: 上翻,q: 退出
本提示在屏幕被消息填满时触发,仅开启 'more' 选项才会出现,使用 hl-MoreMsg 高
亮组。
按键 效果
<CR> 或 <NL> 或 j 或 <Down> 下滚一行
d 下滚一页 (半屏)
<Space> 或 f 或 <PageDown> 或 CTRL-F 下滚一屏
G 直接滚动到底部,调出按回车提示
<BS> 或 k 或 <Up> 上滚一行
u 上滚一页 (半屏)
b 或 <PageUp> 上滚一屏
g 回滚到输出开始处
q、<Esc> 或 CTRL-C 终止浏览输出
: 终止浏览并进入命令行模式
<C-Y> 抽出 (复制) 无模式选中内容
modeless-selection 到剪贴板
("* 和 "+ 寄存器)
{菜单快捷键} 执行命令行模式绑定的菜单项。
<LeftMouse> 下滚一屏 (*)
按下其余任意按键,会展示所有分页快捷键说明。
(*) 鼠标左键点击生效条件为:
- GUI: 仅点击屏幕末行有效。
- 终端模式: 当 'mouse' 里包含 'r' 时有效 (但会失去选择文本功能)。
注意: 分页时读取的按键直接取自终端输入,不触发按键映射,且预输入缓存会被忽略。
g< 命令可调出上一条命令输出的最后一页。适合在按回车继续提示误按 <Space> 清空
内容后,重新查看输出。
vim:tw=78:ts=8:noet:ft=help:norl: