diff
命令更易于理解和理解的方式比较PHP,Javascript,CSS,HTML和其他纯文本文件的内容。必须具有
文件内容的并排比较,指示文件1到文件2的不同行
从控制台运行(无桌面环境)已安装)
支持纯文本文件
想要具有
用于突出显示更改的颜色
同步滚动(两个文件的行在进行比较时并排并保持视野)
一行中的更改指示(例如,将“一个问题”与“这是一个问题”行进行比较将表明/突出显示“此是”是区别,而不是仅仅指出整行内容有所不同)。
我最好喜欢WinMerge的文件比较功能:
对于Ubuntu,但我了解并非仅控制台应用程序可能具备所有功能。
#1 楼
vimdiffvimdiff file1 file2
还可以将它与git一起使用,例如:
git difftool --tool=vimdiff HEAD^ HEAD
#2 楼
因此,您需要具有非常基本功能的交互式差异工具。显而易见的答案是Emacs(Ubuntu:emacs
),它包含大约20年前的Ediff。打开要比较的两个文件,然后选择“工具→比较(Ediff)→两个缓冲区”。 …”。或选择“工具→比较(Ediff)→两个文件…”,然后输入文件名。您可以改用命令
ediff-buffers
或ediff
(ediff-files
的别名)(按Alt + X,然后键入ediff
,然后按Enter)。在Ediff模式下的主要命令是:|
可以在两个文件之间一个接一个地显示(默认)或并排显示两个文件n
移至下一行不同的行p
移至上一行不同的行q
退出Ediff模式?
寻求帮助C-x o
(Ctrl + X然后小写O)可在三个缓冲区(文件1,文件2和Ediff控制面板)之间导航。Ediff也可以如果您有一个共同的祖先文件,请进行三向比较,并可以帮助进行合并。 “工具”菜单中的条目应足以帮助您入门;有关详细信息,请参见手册。
Emacs还可以自动从svn和其他版本控制系统中提取修订。请查看“工具→版本控制”菜单下或手册中的更多信息。
使用Emacs的GUI版本可能会更舒适。 Emacs可在所有主要操作系统上运行(在Windows上,我使用EmacsW32),并且可以通过SSH(和其他方法)透明地访问远程文件。要通过SSH打开远程文件,请键入
/name-of-host:/path/to/file
作为文件名。在Windows下,如果您使用的是PuTTY for SSH,请确保已安装plink
并在Emacs的PATH
上,然后将(setq tramp-default-method "plink")
放入~/.emacs
中。有关更多详细信息,请参见流浪汉手册。#3 楼
如果您喜欢diff
,但希望它更易于理解和阅读,则可以使用colordiff
-与diff
基本相同,但具有彩色突出显示。使用diff或colordiff进行并排比较您可以添加
-y
选项。您还可以使用sdiff
-与diff
和-y
选项一起输出的并排比较要比q4312079q干净一些(至少在Fedora上,它们看起来非常相似,但不确定每个人是否都一样)。 突出显示不同的单词,而不是整行。
还可以设置终端的列宽以匹配当前的宽度/列:
colordiff -y --width=$COLUMNS mylovelyfile1.txt mylovelyfile2.txt
评论
相关:适用于Ubuntu的Difftool,例如OS X的Opendiff