Meld — это удобный графический инструмент для сравнения файлов и папок, который наглядно показывает все различия. В отличие от консольных утилит, здесь можно не только увидеть отличия, но и сразу их объединять.
Установить Meld в Ubuntu очень просто одной командой:
sudo apt install meld
🚀 Запуск и начало работы
После установки вы можете запустить Meld из меню приложений или из терминала.
Способы запуска из командной строки:
| Команда | Что делает |
|---|---|
meld | Запускает программу с пустым окном |
meld папка1 папка2 | Сравнивает две папки |
meld файл1 файл2 | Сравнивает два файла |
meld файл1 файл2 файл3 | Трёхстороннее сравнение файлов |
meld папка1 папка2 папка3 | Трёхстороннее сравнение папок |
meld . | Сравнивает текущую папку с её версией в Git |
При запуске без параметров откроется окно выбора режима: File сравнение (для файлов), Directory сравнение (для папок) или Version Control (для Git).
📁 Сравнение папок
Для сравнения двух папок укажите пути к ним и нажмите Compare.
Обе папки отобразятся в виде деревьев. Цветовая индикация подскажет, в каком состоянии находится каждый файл:
| Статус | Внешний вид | Значение |
|---|---|---|
| Изменён | Синий и жирный | Файл есть в обеих папках, но отличается |
| Новый | Зелёный и жирный | Файл есть только в этой папке |
| Отсутствует | Серый зачёркнутый текст | Файла нет в этой папке |
| Ошибка | Ярко-красный на жёлтом фоне | Проблема с доступом к файлу |
Чтобы открыть два файла для детального сравнения, просто дважды кликните по любому файлу в списке — откроется новая вкладка с пофайловым сравнением.
Управление отображением:
На панели инструментов есть кнопки-фильтры:
- Same — показать одинаковые файлы (по умолчанию включено, нажмите, чтобы скрыть)
- New — показать новые файлы
- Modified — показать изменённые файлы
Это очень удобно, когда нужно быстро найти только то, что реально изменилось.
📄 Сравнение файлов
Когда вы открываете два файла рядом, Meld подсвечивает различия:
- Зелёным — добавленные строки
- Красным — изменённые строки
- Серым зачёркнутым — удалённые строки
Для объединения изменений используйте кнопки со стрелками между панелями:
- Стрелка вправо
→— скопировать выделенный фрагмент из левого файла в правый - Стрелка влево
←— скопировать из правого в левый
Также можно скопировать целые секции различий одним кликом по соответствующей стрелке рядом с блоком изменений.
🎯 Настройка фильтров
Иногда нужно исключить из сравнения определённые типы файлов (например, .log, __pycache__ или .git).
Как добавить свой фильтр:
- Откройте меню Edit → Preferences → File Filters
- Нажмите + (плюс) для добавления нового правила
- Введите шаблон имени файла, используя специальные символы (*, ?)
Символы для шаблонов:
| Символ | Что означает | Пример |
|---|---|---|
* | Любое количество символов | *.log — все файлы с расширением .log |
? | Один любой символ | file?.txt — file1.txt, fileA.txt |
[abc] | Любой из перечисленных символов | [0-9] — любая цифра |
{cat,dog} | Один из вариантов | *.{jpg,png} — изображения |
💡 Примечание о регистре имён
Meld по умолчанию различает заглавные и строчные буквы в именах файлов. Это значит, что README.md, Readme.md и readme.md будут считаться разными файлами.
Если вы хотите этого избежать (например, при сравнении папок с Windows), включите опцию View → Ignore Filename Case в меню.
Команда meld . из корня Git-проекта — особенно полезный трюк, который показывает все незакоммиченные изменения в одном окне. Нужна будет помощь с настройкой такого сравнения?