因此,我们都diff
默认安装了该命令。我当然不知道如何很好地使用它。但是我希望有一些合理的默认用法。但是当我键入内容时,diff file1 file2
我得到了一个……我不得不在脑海中解析的文本……这是两个文本的怪异组合,而文本本身本身就非常复杂,这无济于事。
因此,我寻找了一个图形化的解决方案,例如meld
。开箱即用的效果要好得多。
但是我更希望能够一直保持命令行状态。是否有一个相当标准的命令,它可以:
libncurses
vim
,emacs
也不是IDE如果没有,为什么不呢?我调查了一下,colordiff
但还没有完全解决。
我担心这个答案不会使您满意,但我认为您提出了相互矛盾的约束条件。
但是首先,我必须捍卫经典的diff工具:其主要目的是生成应由应用程序中的机器处理的软件补丁。此外,这些修补程序设计得尽可能紧凑,并且理想情况下仅使用ASCII字符,以便可以通过电子邮件,Usenet等快速可靠地共享它们。
这些补丁可以被人类(某些人类可以理解)读取也是一个重要的特性,但不是最重要的。
我完全理解并分享您对简单和基本命令行工具的需求,但是并排差异(可能带有颜色突出显示)既不简单,也不在我们可以从真正的命令行工具中获得的范围之内,这仅仅是因为它不再面向行。
紧随其后的是基于Vi或Emacs的工具,这些工具对人类的接收来说既简单又清晰,同时具有高度的灵活性。它们还提供强大的合并功能。
关于Emacs,文件比较通常从编辑器内部开始。最常用的工具是Ediff,它提供了许多满足各种需求的入口点:两个文件,树文件的比较,其中一个被视为共同祖先,等等。可能的合并也是如此。
尽管不寻常,但我从命令行操纵了对Ediff的访问:如果您使用以下命令启动Emacs,
emacs FILE1 FILE2 -nw --eval "(apply 'ediff-buffers (last (nreverse (buffer-list)) 2))"
那么你就直接以比较的互动Ediff会话跳FILE1
和FILE2
你的终端内。如果省略该-nw
选项(并且满足所有要求),则将在单独的图形框架中获得相同的会话。另请参见ashutosh jain的相关问题。
好的,我不会说Emacs是一个简单的工具。但是,如果您对它进行了彻底的研究多年,您会喜欢上它的。(个人想法。)
因此,不幸的是,没有:我不知道有什么工具可以满足您的所有限制。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句