Какой графический интерфейс просмотра различий вы бы порекомендовали с функциональностью Copy-to-Left / Right?

30

Я почти никогда не использовал ничего, кроме Мелда . Можете ли вы порекомендовать что-нибудь еще?

Было бы очень приятно, если бы вы дали повод для своей рекомендации (в качестве комментария).

[ примечание ] Я хочу альтернативу, потому что Мелд недавно потерял возможность копировать все содержимое из одного файла в другой. Я имею в виду функциональность, доступную через Copy To Left/Rightпункт меню, вызываемый правой кнопкой мыши.

[ обновление ] Я только что проверил, и проблема была введена 1.3.2 . 1.3.1 работает хорошо, и я проверил последнюю версию 1.4.0 , и она не работает.

Tshepang
источник
4
Вы пробовали kdiff3.sourceforge.net ?
Кастерма
@kas Я только что попробовал сейчас, и я заметил, что он не предлагает то, что мне нужно от такого инструмента (см. примечание, которое я добавил к Вопросу).
Чепанг
2
@Tshepang: kdiff3 позволяет это сделать. Отметьте файл «слияние от А до Б», а затем начните слияние. Вы можете выбрать, разность за разницей, какие части копировать. Опустите все, что вы не хотите копировать. Когда доволен, нажмите Сохранить. Чтобы скопировать весь файл, просто пометьте его как «Копировать A в B.» Возможно, вам придется поменять местами A и B, в зависимости от того, каким образом вы на самом деле копируете.
Сорпигал
@ Ты уверен? Я использую версию 0.9.95, и я не нахожу "слияние от А до Б". Я проверил в Mergeменю.
Чепанг
1
@Tshepang Я использую Meld 1.3.0, который я считаю последней версией. Выделите все содержимое файла левой стороны (щелкните текст и нажмите Ctrl + A), затем щелкните его правой кнопкой мыши. Я получаю опцию «Копировать на право» и, щелкая по ней, копирует все содержимое файла левой части в файл правой части. Точно так же я получаю опцию «Копировать влево» для другого файла. Таким образом, он позволяет вам копировать все содержимое файла в другой.
Barun

Ответы:

24

Существует ряд инструментов, которые можно использовать:

  • MELD
  • kompare - программа просмотра различий
  • kdiff3 - средство просмотра различий в файлах
  • Diffuse - просмотрщик различий в файлах

У вас есть два файла и вы хотите просмотреть их различия? Используйте «средство просмотра различий в файлах». У вас есть файл diff, и вы хотите просмотреть его на удобном для чтения дисплее? Используйте «средство просмотра различий».

Йохан
источник
+1 за предложение Компаре; Кажется, лучше, чем Kdiff3, по крайней мере, для моего использования.
Чепанг
1
также есть diffuse: diffuse.sourceforge.net/manual.html
gabe.
@gabe Добавил этот прекрасный инструмент в список.
Цепанг
У diffuse есть отличные знания SVN из коробки, так что вы можете более или менее использовать их как "svn diff".
Йохан
1
@Tshepang - мне нравится, что kdiff3 будет выделять отдельные символы, которые изменились в строке. Большинство инструментов сравнения просто выделяют всю строку, что может затруднить выяснение того, что изменилось. Только одна приятная особенность, которую стоит иметь в виду ...
Джастин Этье
9

Существует также vimdiff(с его версией GUI gvimdiff).

Johan
источник
7

Пакетный ediffпакет Emacs является довольно хорошим средством просмотра различий (начните с команд в Emacs ' Tools / Compareи Tools / Mergeменю). Он имеет все основные функции (выделение различий между двумя файлами, переход между разными блоками) и наиболее распространенные промежуточные функции (сравнение частей файлов, сравнение ревизий, извлеченных из контроля версий, сравнение деревьев каталогов, использование общего предка в качестве контрольной точки, произвести объединенную версию). Тем не менее, он не имеет особых возможностей игнорировать.

То, что Emacs имеет над большинством других программ просмотра различий, включает в себя улучшенные возможности поиска, подсветку синтаксиса, расширяемость Lisp. Да, и встроенный редактор.

Жиль
источник
Когда я попробовал emacs diff viewer, я обнаружил, что буферы не прокручиваются одновременно (в vimdiff они прокручиваются так, что связанные части все время находятся рядом друг с другом). Знаете ли вы, чтобы достичь этого в Emacs?
Кастерма
@kasterma: v/ ^( ediff-scroll-vertically, поднимаясь или опускаясь в зависимости от нажатия клавиши, чтобы вызвать его), прокручивает все окна параллельно.
Жиль "ТАК - перестань быть злым"
2

Я рекомендую kdiff3. Он может использоваться как программистами для сравнения файлов src во время разработки программного обеспечения, так и людьми, выполняющими периодическое резервное копирование, для сравнения двух папок (рекурсивно до конца), первой на жестком диске вашей системы и второй внешней резервной копии жесткого диска.

В последнем случае вы можете настроить сравнение даты, времени и размера, а не построчное сравнение, необходимое программистам. Он обеспечивает хороший вывод с цветовой кодировкой для каждого каталога / файла, участвующего в сравнении, и вы можете выборочно добавлять / удалять новые файлы, которые вы создали / удалили на системном жестком диске, на резервный жесткий диск.

user42339
источник
2

Я использовал tkdiff ( http://sourceforge.net/projects/tkdiff/ ) в течение многих лет. Он делает то, что я хочу, для отображения различий между файлами, и он может записать файл «слияния» с любым выбором левого и правого различий между файлами.

Недостаток: он написан на Tcl / Tk, и не все системы имеют это.

Брюс Эдигер
источник
0

Сравнение различных утилит. Старый, но все еще в силе.

http://web.archive.org/web/20111003125309/http://amjith.blogspot.com/2007/07/visual-diff-tools-in-linux.html

Amjith
источник
Вот новое сравнение инструментов визуального сравнения для Linux на 10 лет . Удивительно, но все они сосут при сравнении больших файлов CSV.
Дан Даскалеску