有没有办法在vim中打开屏幕的终端回滚缓冲区?

Val*_*adu 5 vim gnu-screen

我正在寻找一种永远放下鼠标的方法。我得到了一个非常舒服的点,我不使用它进行常规文本编辑,但是,有些事情困扰着我。当我使用 shell 并且想复制一些 prev 输出时,我需要使用鼠标突出显示 + 复制。那太糟糕了。我知道screen'Ctrl-A [' 很酷,但我想在 Vim 中浏览回滚,而不是在 Screen 的内置界面中。

有没有办法让我将当前的 shell 输出缓冲区打开到 Vim 中并从中复制?

Gil*_*il' 6

从屏幕窗口中,运行

screen -X hardcopy -h s
vim s
rm s
Run Code Online (Sandbox Code Playgroud)

hardcopy -h将回滚转储到一个临时文件中,然后您可以根据需要在 Vim 中打开该文件。如果您编写脚本,您应该使用正确的临时文件名:

#!/bin/sh
scrollback_file=$(mktemp)
screen -X hardcopy -h "$scrollback_file"
vim -c 'call delete(@%)' "$scrollback_file"
Run Code Online (Sandbox Code Playgroud)

(或者你可以在 Emacs 或 Neovim 中运行你的 shell。)