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

如何在终端直接启动nvim并显示当前带色终端内容?

终端内实现类Kitty scrollback_pager功能的方案

问题说明

Kitty终端的scrollback_pager功能有如下最简配置:

scrollback_pager bash -c "nvim 64<&0 0</dev/null -c 'terminal sed </dev/fd/64 -e "" '"

该配置通过将终端回滚内容重定向至/dev/fd/64,再经sed传入nvim终端模式,可正常显示带终端配色的回滚内容。但切换至无原生scrollback_pager功能的Wezterm后,直接在终端运行上述命令会失效(甚至在Kitty终端内直接运行也无法正常工作)。现需在终端中直接实现等效功能,同时满足以下要求:

  • 不生成任何临时文件
  • 不使用AnsiEsc等nvim插件(此类插件会强制使用nvim自身配色,而非终端配色)
  • 不依赖系统剪贴板(避免覆盖原有剪贴板内容)

解决方法

针对Wezterm终端

利用Wezterm自带的scrollback capture命令捕获回滚内容,通过管道传递给处理脚本:

wezterm scrollback capture | bash -c 'nvim 64<&0 0</dev/null -c "terminal sed </dev/fd/64"'

针对Kitty终端(直接在终端运行场景)

使用Kitty的scrollback get命令捕获回滚内容,同样通过管道传递:

kitty scrollback get | bash -c 'nvim 64<&0 0</dev/null -c "terminal sed </dev/fd/64"'

原理说明

  • 终端自带的scrollback捕获命令(wezterm scrollback capture/kitty scrollback get)直接将回滚内容输出至标准输出,无需临时文件或剪贴板
  • 通过文件描述符64承接标准输入的内容,在nvim的终端模式下用sed读取该描述符内容,保留终端原生配色,无需额外插件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:40:18