Сравнение текстов

Вставьте два текста и получите различия — без кнопок и без загрузки.

Правила сравнения

Как пользоваться

  1. Вставьте старую версию в «Исходный текст», а новую — в «Изменённый текст»: различия появляются по мере ввода, нажимать ничего не нужно.
  2. Если страница стала сплошь красной и зелёной из-за пробелов в конце строк или регистра, включите соответствующее правило выше. Для китайских страниц дополнительно доступно сворачивание полной и половинной ширины.
  3. Кнопка «Копировать diff» отдаст результат как unified diff (+ / −), его можно вставить в задачу, письмо или редактор.

Пример

Два ввода

【Исходный】
Встреча: 10:00
Кабинет: 3F
Ответственный: Иван Петров

【Изменённый】
Встреча: 10:30
Кабинет: 3F
Ответственный: Иван Петров, Анна Смирнова

Diff

-Встреча: 10:00
+Встреча: 10:30
 Кабинет: 3F
-Ответственный: Иван Петров
+Ответственный: Иван Петров, Анна Смирнова
(+2 −2, 1 строка без изменений)

Строки 【Исходный】/【Изменённый】 — заголовки примера; в реальной работе два текста вставляются в два поля. По умолчанию ничего не игнорируется, поэтому обе изменённые строки отмечены целиком, а «Кабинет: 3F» совпадает и показана обычной строкой.

Правила, ограничения и известные проблемы

  • Единица сравнения — строка: измените одно слово в строке, и вся строка будет отмечена как удалённая и добавленная. Подсветки на уровне символов внутри строки нет.
  • Замена показывается так же, как в git diff: сначала удалённая старая строка, затем добавленная новая.
  • «Игнорировать краевые пробелы» обрезает только горизонтальные пробелы по краям строки (пробел, табуляция, U+00A0, U+3000); пробелы внутри строки не схлопываются.
  • «Игнорировать полную/половинную ширину» влияет только на сравнение: «,» равно «,», «()» равно «()», широкий пробел равен обычному — в результате всё равно показывается ваш исходный текст.
  • При включённом «Игнорировать пустые строки» строки, которые пусты или состоят из пробелов, не сравниваются и не показываются; видимые номера строк по-прежнему относятся к исходному тексту.
  • Если перевод строки есть только на одной стороне, diff покажет одну добавленную или удалённую пустую строку — это реальное различие, и оно никогда не скрывается.
  • Нормализации Unicode нет: «é» (одна кодовая точка) отличается от «e» с комбинирующим знаком (две кодовые точки). Перемещение блоков не определяется: перенос абзаца с начала в конец показывается как удаление плюс добавление.
  • Свыше 200 000 символов суммарно результат обновляется примерно через 0,6 с после того, как вы закончите ввод; свыше 3000 строк или при очень больших различиях средняя часть сравнивается одним блоком, а над результатом появляется пометка.
  • Нет загрузки файлов, разбора Word/PDF, режима «бок о бок», истории и ссылок для совместного доступа — ничего не загружается и не сохраняется.

Что обычно нужно дальше, когда различия найдены.