微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在vim中的两个命名文件之间取差异

在我的项目回归设置中,输出文件有如下的语句

"diff between foo.txt and bar.txt found"

现在我需要在foo.txt和bar.txt之间使用vimdiff.我可以从仅在vim中打开的输出文件中执行此操作吗?

目前我需要先在vim中打开我的输出文件.然后我需要选择指定diff found的行.在它返回shell之后.然后把vimdiff b / w这个文件.

解决方法

如果您没有打开文件或未修改缓冲区:

:edit file1.txt
 :vert diffsplit file2.txt

要在新标签中打开差异,

:tabedit file1.txt
 :vert diffsplit file2.txt

会很方便的

为了让事情自动化,我考虑一下

diffprogram | grep -w '^diff between' | grep 'found$' | 
while read diff between file1 and file2 found;
do
    gvim -d "$file1" "$file2"
done

笔记:

>不适用于具有特殊字符的文件名(特别是空格)
>要同时打开所有这些文件,只需添加&:gvim -d“$file1”“$file2”&

您还可以在单​​个vim中的单独选项卡中打开所有差异:

gvim --servername GVIM --remote-silent +"tabedit $file1" +"vert diffsplit $file2"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐