命令行差异工具

沃拉克

因此,我们都diff默认安装了命令。我当然不知道如何很好地使用它但是我希望有一些合理的默认用法。但是当我键入内容时,diff file1 file2我得到了一个……我不得不在脑海中解析的文本……这是两个文本的怪异组合,而文本本身本身就非常复杂,这无济于事。

因此,我寻找了一个图形化的解决方案,例如meld开箱即用的效果要好得多。

但是我更希望能够一直保持命令行状态。是否有一个相当标准的命令,它可以:

  • 默认使用颜色,并且可以采用语法突出显示
  • 呈现并排差异,默认情况下进行三向合并
  • 在命令行上工作,例如通过 libncurses
  • 取决于既不vimemacs也不是IDE
  • 可以就地修改已编辑的文件?

如果没有,为什么不呢?我调查了一下,colordiff但还没有完全解决。

于尔根

我担心这个答案不会使您满意,但我认为您提出了相互矛盾的约束条件。

关于差异

但是首先,我必须捍卫经典的diff工具:其主要目的是生成应由应用程序中的机器处理的软件补丁。此外,这些修补程序设计得尽可能紧凑,并且理想情况下仅使用ASCII字符,以便可以通过电子邮件,Usenet等快速可靠地共享它们。

这些补丁可以被人类(某些人类可以理解)读取也是一个重要的特性,但不是最重要的。

你的问题

我完全理解并分享您对简单和基本命令行工具的需求,但是并排差异(可能带有颜色突出显示)既不简单,也不在我们可以从真正的命令行工具中获得的范围之内,这仅仅是因为它不再面向行。

紧随其后的是基于Vi或Emacs的工具,这些工具对人类的接收来说既简单又清晰,同时具有高度的灵活性。它们还提供强大的合并功能。

在评论中vimdiff已经提到这些形式

关于Emacs,文件比较通常从编辑器内部开始。最常用的工具是Ediff,它提供了许多满足各种需求的入口点:两个文件,树文件的比较,其中一个被视为共同祖先,等等。可能的合并也是如此。

尽管不寻常,但我从命令行操纵了对Ediff的访问:如果您使用以下命令启动Emacs,

emacs FILE1 FILE2 -nw --eval "(apply 'ediff-buffers (last (nreverse (buffer-list)) 2))"

那么你就直接以比较的互动Ediff会话跳FILE1FILE2你的终端内。如果省略该-nw选项(并且满足所有要求),则将在单独的图形框架中获得相同的会话。另请参见ashutosh jain的相关问题

好的,我不会说Emacs是一个简单的工具。但是,如果您对它进行了彻底的研究多年,您会喜欢上它的。(个人想法。)

因此,不幸的是,没有:我不知道有什么工具可以满足您的所有限制。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Windows命令行二进制差异工具

来自分类Dev

从命令行工具生成(* .tps)?

来自分类Dev

Xcode命令行工具和制作

来自分类Dev

安装Bigquery命令行工具

来自分类Dev

安装命令行工具Xcode 5

来自分类Dev

命令行工具不可用

来自分类Dev

node.js命令行工具

来自分类Dev

Firebase工具从命令行登录

来自分类Dev

Spyder“ Git命令行工具”问题

来自分类Dev

找不到elasticsearch命令行工具

来自分类Dev

Mac上的小指命令行工具?

来自分类Dev

是Mac的pdftotext命令行工具吗?

来自分类Dev

XML命令行工具postgres

来自分类Dev

从Xcode导出命令行工具项目

来自分类Dev

Ruby脚本到命令行工具

来自分类Dev

创建命令行工具的Shell扩展

来自分类Dev

命令行工具生成难忘的密码?

来自分类Dev

用节点编写命令行工具

来自分类Dev

pdfprint.exe命令行工具打印命令

来自分类Dev

Github样式在命令行上分割差异

来自分类Dev

Windows命令行受AMD / Intel差异的影响吗?

来自分类Dev

stdin和命令行参数之间的性能差异

来自分类Dev

脚本和命令行之间的glob行为差异

来自分类Dev

sed命令行为差异wrt参数处理

来自分类Dev

深度缩放图像-命令行工具?或批量转换

来自分类Dev

IAR命令行工具“ iarbuild”可以全部构建吗?

来自分类Dev

命令行工具来裁剪PDF文件

来自分类Dev

用于删除孤立软件包的命令行工具?

来自分类Dev

错误:未安装“ git”命令行工具: