如何将输出从 stdout 重定向到 vim?

如何将输出从 stdout 重定向到 vim?

我想在 vim 中查看输出echo,并在查看后保存到文件中。我试过了echo $PATH | vim,但出现以下错误:

Vim: Warning: Input is not from a terminal
Vim: Error reading input, exiting...

Vim: Finished.

我能做些什么?

答案1

我如何将 stout 的输出重定向到 vim?

您的问题已在 AskUbuntu 上得到解答。

最简单的解决方案是添加-到您的命令中:

echo $PATH | vim -

您可以使用流程替代(这也适用于无法读取的应用程序STDIN):

vim <(ls -la)

或者使用vim的功能读取STDIN

ls -la | vim -

来源如何将命令输出重定向到 bash 中的 vim?,回答者混乱

答案2

您缺少-指示 Vim 从 stdin 填充缓冲区的文件名参数;cp。:help --

echo $PATH | vim -

或者,你可以使用 shell 的流程替代创建一个临时文件描述符并让 Vim 编辑该“虚拟”文件。

vim <(echo $PATH)

相关内容