控制台的交互式/视觉合并工具?

And*_*ohr 22 linux diff console merge

我是meldGnome 的视觉差异和合并工具的忠实粉丝。它并排显示两个文件(或目录)并突出显示它们的差异,我可以轻松选择要从一个文件移动到另一个文件的部分。

我正在寻找类似的工具,但它应该可以在(Linux)控制台上运行,例如。它不应该需要任何 X 服务器。也许使用 ncurses 接口。

有这样的工具吗?

And*_*ohr 13

啊刚刚发现了vimdiff。它几乎可以满足我的要求。这是一个快速指南


rap*_*ink 8

你可以用vim -d file1 file2它。


fbm*_*bmd 8

sdiff,一个经典的命令行工具,可以并排显示文本文件的差异,还具有交互式合并模式。通过运行来使用它

$ sdiff -o output.txt input1.txt input2.txt
Run Code Online (Sandbox Code Playgroud)

它是 Gentoo Linux 的etc-update实用程序使用的默认交互式命令行合并工具。

优点vimdiff是无处不在的可用性和更简单的处理。

  • `sdiff` 似乎没有任何颜色或突出显示选项来突出显示差异。这使得它非常初级且难以使用。 (2认同)

Ber*_*mos 7

我为此使用午夜指挥官。在左侧窗格中选择一个文件,在右侧窗格中选择另一个文件,然后按F9,然后按 Command > 比较文件。

也可以使用mcdiff命令调用

使用Enter导航到下一个差异,F5从右到左和F15(或Shift + F5)从左到右合并选定的差异。

可以更改键绑定(在 Mac 上有用):

mc.keymap文件部分更改[diffviewer]自:

MergeOther = f15
Run Code Online (Sandbox Code Playgroud)

到:

MergeOther = f6
Run Code Online (Sandbox Code Playgroud)

如果您想F6成为默认密钥,请在此处询问

更多信息:F1

  • 此外,您可以在合并期间使用“F4”(“F14”、“Shift”+“F4”用于右窗格)修改文件。它将打开部分合并的文件,以便在上次合并的位置进行编辑。因此,您可以更改所需内容,保存更改并退出编辑模式,它将返回到“mcdiff”以继续与更新的文件合并。 (2认同)