如何将多个程序/脚本的输出重定向到 VIM 中以屏幕分割的方式打开?

如何将多个程序/脚本的输出重定向到 VIM 中以屏幕分割的方式打开?

我想要的是一个从 shell 运行的命令,它支持:-

myprog1 'someinputfile1' |vim -

myprog2 'someinputfile2' |vim -

在分屏中在 vim 中打开的输出。

https://stackoverflow.com/questions/8287164/how-to-redirect-stdout-output-to-a-new-vim-tab?rq=1 告诉我用 来vsp|myprog <someinputfile>分割已经打开的 vim 窗口。

答案1

如果你使用的是 Linux,请尝试以下操作:

vim -o <(myprog1 'someinputfile1') <(myprog2 'someinputfile2')

改为垂直分割-o-O

答案2

第二个很简单,因为它只是一系列命令:

ls | vim -
:vertical split
:enew
:read !ls

如果你想要 diffsplit

ls | vim -
:diffthis
:vertical split
:enew
:read !ls
:diffthis

您可以为此创建一个键盘映射,例如

:map <F12> :diffthis\|vertical split\|enew\|diffthis<CR>:read !

答案3

您可以使用 Vim 的-c参数读取第一个输出,打开新选项卡,然后读取第二个输出。例如:

vim -c ':read !ls dir1' -c ':tabnew | read !ls dir2'

相关内容