我想要的是一个从 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'