You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Vim中找回已关闭的Shell命令输出缓冲区?

找回Vim中Shell命令输出的方法

当你在Vim里执行! ls这类Shell命令,关闭弹窗后想找回输出,不用重新跑命令,试试这几种方式:

  • 查看消息历史
    在Normal模式下输入:messages,Vim会列出所有历史消息,其中就包含你刚才执行Shell命令的输出。如果内容太长,用:messages | less分页查看,按q退出即可。

  • 用寄存器提前保存输出
    执行Shell命令时直接把输出存入指定寄存器,比如敲:"a! ls,这样ls的结果就存在了a寄存器里。之后要查看的话,在Normal模式下按"ap就能把内容粘贴到当前缓冲区,或者用:echo @a在命令行快速查看(适合内容较短的情况)。

  • 直接将输出插入缓冲区
    如果一开始就打算保留输出,别用! ls,改用:r! ls——这个命令会把Shell命令的输出直接插入到当前光标位置,内容就保存在文件里了,随时能看。

  • 借助quickfix窗口
    执行:make! ls(这里只是借make的机制调用Shell命令,和项目编译无关),然后输入:copen打开quickfix窗口,里面会显示命令的输出。之后再想看的话,只需要敲:copen就能调出窗口,不用重新执行命令。

内容的提问来源于stack exchange,提问作者gcb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 22:07:01