在终端中 - 在新 vim 缓冲区中显示输出
In terminal - show ouput in new vim buffer
我正在尝试获得我在视频中看到的功能。本质上,这个人在终端中(我相信在重要的情况下使用 tmux)并使用快捷方式将 stdout 转换为 vim 缓冲区,并且可以轻松地导航和 select/copy 文本。这是怎么做到的?
tabnew
命令用于打开新标签页。
您可以使用管道符号,然后使用其他命令。这些命令的输出将被重定向到新缓冲区。
示例:
:tabnew | r! pwd
pwd 将打印当前目录,r 将读取它。 Tabnew 会将输出放入新缓冲区。
您可以同时使用 shell 命令和 vim 命令。
同样,可以使用enew
命令代替tabnew 来创建新缓冲区。
看这里:
https://superuser.com/questions/157987/pipe-output-of-shell-command-into-a-new-buffer-in-vim
How to redirect stdout output to a new Vim tab?
How do I dump output of an external command to a new buffer in Vim?
您可以运行 :read !<cmd>
执行shell中的命令并将输出捕获到当前缓冲区。
例如 - :read !date
如果您想要在新缓冲区中输出,请使用 :new
。
所以两者合并,:new | read !date
在readline中,在默认的emacs模式下,您可以按<C-x><C-e>
编辑$EDITOR
中的当前命令行。
如果你使用vi模式,你可以按<Esc>v
来做同样的事情。
你说的是tmux
的复制模式
默认情况下,您可以通过 ctrlb[ 进入复制模式 If C-b
是你的前缀。否则使用前缀 + [
您可以使用 hjkl[ 的动作=33=]w^,用?/[=33=搜索]等
一些相关的details
我正在尝试获得我在视频中看到的功能。本质上,这个人在终端中(我相信在重要的情况下使用 tmux)并使用快捷方式将 stdout 转换为 vim 缓冲区,并且可以轻松地导航和 select/copy 文本。这是怎么做到的?
tabnew
命令用于打开新标签页。
您可以使用管道符号,然后使用其他命令。这些命令的输出将被重定向到新缓冲区。
示例:
:tabnew | r! pwd
pwd 将打印当前目录,r 将读取它。 Tabnew 会将输出放入新缓冲区。 您可以同时使用 shell 命令和 vim 命令。
同样,可以使用enew
命令代替tabnew 来创建新缓冲区。
看这里:
https://superuser.com/questions/157987/pipe-output-of-shell-command-into-a-new-buffer-in-vim
How to redirect stdout output to a new Vim tab?
How do I dump output of an external command to a new buffer in Vim?
您可以运行 :read !<cmd>
执行shell中的命令并将输出捕获到当前缓冲区。
例如 - :read !date
如果您想要在新缓冲区中输出,请使用 :new
。
所以两者合并,:new | read !date
在readline中,在默认的emacs模式下,您可以按<C-x><C-e>
编辑$EDITOR
中的当前命令行。
如果你使用vi模式,你可以按<Esc>v
来做同样的事情。
你说的是tmux
的复制模式
默认情况下,您可以通过 ctrlb[ 进入复制模式 If C-b
是你的前缀。否则使用前缀 + [
您可以使用 hjkl[ 的动作=33=]w^,用?/[=33=搜索]等
一些相关的details