在 shell 上运行命令并在 vim 中获取输出

在 shell 上运行命令并在 vim 中获取输出

我知道如何使用:!r和在 vim 中运行 shell 命令:!,但是有没有办法从外部(即从 bash)来执行此操作?

类似于 的内容vim 'ls -al'。 的输出ls应该在 vim 中并且可以编辑。

答案1

您可以读取标准输入

$ ls -al | vim -

答案2

执行该命令的方式与从命令行执行任何命令的方式相同。

$ vim '+r !ls -al'

答案3

您可以像这样使用 bash 进程替换:

vim <(ls -al)

参见 bash 手册的“进程替换”小节:

man -P 'less +/Process\ Substitution' bash

相关内容