Linux 重定向和vim

Linux 重定向和vim,linux,vim,Linux,Vim,我想知道是否有办法查看任何命令的输出, 直接在vim内部,而不是首先将其重定向到文件和 然后打开那个文件 我需要像这样的东西 $gvimdiff-r dir1/dir2/ 这会给出不明确的重定向错误消息 我只想看看dir1和dir2之间的差别 格维姆 任何一个都能提供一个好的hack吗?jst使用gvimdiff代替 或vimdiff 要将命令的输出直接粘贴到vim中,例如ls,请尝试 :%r!ls -R将其设置为只读,这样您就不会意外地修改输入(这可能是您想要的行为,也可能不是)。单破折号指示

我想知道是否有办法查看任何命令的输出, 直接在vim内部,而不是首先将其重定向到文件和 然后打开那个文件

我需要像这样的东西 $gvimdiff-r dir1/dir2/

这会给出不明确的重定向错误消息

我只想看看dir1和dir2之间的差别 格维姆


任何一个都能提供一个好的hack吗?

jst使用gvimdiff代替
或vimdiff
要将命令的输出直接粘贴到vim中,例如ls,请尝试
:%r!ls


-R
将其设置为只读,这样您就不会意外地修改输入(这可能是您想要的行为,也可能不是)。单破折号指示vim通过标准输入读取其输入。也适用于其他命令。

vim-d file1 file2
当已经在vim中时:

:r! diff file1 file2

虽然我也建议使用
vimdiff
vim-d
来查看diff,但我必须分享一下在管道中使用vim的这个(更一般的)方法:vipe(来自Ubuntu中的
moreutils
包)

例如:

查找-名称“*.png”| vipe | xargs rm

将允许您首先编辑(在vim中)找到的.png文件列表,然后再将其传递给
xargs rm

顺便说一句,您可以使用

diff -r dir1/ dir2/ | gvim -

vim(或gvim)的“
-
”选项告诉vim打开STDIN

我经常使用的
vimdiff-g
最简单方便的方法之一就是这样做:

vimdiff -R <file1> <file2>
vimdiff-R

“-R”标志再次用于以只读模式打开它,以避免任何意外更改。

您要查找的内容称为:


vim如果您在
vim
上有别名(可能是自定义安装),
vimdiff
将使用站点范围的vim。您可以使用
vim-d
(或设置另一个别名)获得自定义vim的“diff”行为。
vimdiff -R <file1> <file2>