vimdiff and MacVim

31

我想在MacVim上运行vimdiff。有没有简单的方法可以做到这一点?

4个回答

56
  • 从终端

如果您已安装mvim脚本(它在dmg中,只需将其放在PATH的某个位置即可),则可以在 shell 中键入以下命令:

mvim -d file1 file2

如果您喜欢,可以将此命令别名为mvimdiff

  • 从macvim内部

在 macvim 中,就像在 vim 中一样,您也可以使用:

:e file1
:diffsplit file2
或者
:vert diffsplit file2

第二个选项提供垂直差异视图,通常更易读。


啊哈!感谢你的 in-vim 小技巧。在 vim 中似乎总有新东西可以学习 :D - Antonio
可以对另一个缓冲区进行差异比较而不是文件吗? - Yarek T

10

好的。我已经回答了自己的评论:

在vim中区分两个打开的缓冲区,需要将它们垂直打开,然后选择第一个缓冲区并输入:diffthis,接着选择第二个缓冲区再次输入:diffthis

这个方法同样适用于超过两个缓冲区的情况 =)


这是一个不错的提示。谢谢 :) - Manish

10

如果将gvimdiff链接到mvim,则mvim将使用-d等参数启动。Vim和Mvim都会查看它们被启动的可执行文件名称以确定它们的行为方式。这就是为什么在Linux上gvim和vim可以是相同的可执行文件,在OSX上也一样。


1
那对我没用,我得到了这个错误:"diff工具gvimdiff不可用作'gvim'"。 - khatchad
@Raffi - 两年时间里很多事情都可能发生变化,当时的建议是很好的。 - Benj
@Benj 啊,我没有注意到日期 :)。有什么想法可以让这个开始运行吗? - khatchad
@R --- 如果你从终端运行 vimdiff file1.txt file2.txt 命令(不是在 MacVim 中),它会执行差异比较。我认为这个命令默认就存在。我通常使用 MacVim,但是在 vim 中进行差异比较时会转到终端。因为它是 Vim,所以在终端中使用也没问题,对吧?;^) - ruffin
1
对于MacVim,您想要将其符号链接到mvimdiff。在MacVim中键入:help mvim以获取更多详细信息。 - Neil Mendoza

1

这对我在Mac上有效。我正在使用MacVim快照72:

 /Applications/MacVim.app/Contents/MacOS/Vim -d -g path_to_file1 path_to_file2

它的工作方式与Windows上的gvimdiff完全相同。
更新:它甚至可以使用3个文件。此命令将分割屏幕成三部分,让您在macvim中完成三向差异比较。
 /Applications/MacVim.app/Contents/MacOS/Vim -d -g path_to_file1 path_to_file2 path_to_file3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接