Я знаю, что diff mode Vim ( vimdiff
) позволяет нам сравнивать содержимое двух (или более) файлов.
Но можно сравнить содержимое нескольких файлов в разных каталогах, чтобы рекурсивно объединить два каталога (например, DiffMerge и аналогичные инструменты)?
filesystem
vimdiff
kenorb
источник
источник
Ответы:
Существует плагин DirDiff.vim ( GitHub ) для рекурсивного сравнения и слияния двух каталогов.
Использование:
Для получения дополнительной информации / помощи:
:help dirdiff
Смотрите скриншот:
Смотрите также:
Рекурсивно сравнивать и объединять каталоги? в блоге dedm
источник
Я использую скрипт-обертку
python
для объединения файлов (см. Ниже). Это упрощенная версия того, что я использую, чтобы объединить мои~/.vim
каталоги и тому подобное.Это должно работать в Python 2 и 3; но, вероятно, не в очень старых версиях Python, поставляемых с CentOS и некоторыми другими дистрибутивами.
Имейте в виду, что некоторые проверки (например, проверка двоичных файлов или одинаковые файлы) выполняются не очень быстро (считывает весь файл); Вы можете удалить их, если хотите.
Это также не сообщает, присутствует ли только в одном из каталогов ...
источник
Я хотел то же самое некоторое время. Лучшее решение, которое я нашел, было использовать vdwrap , который работает на удивление хорошо. Все это делает обертывание
git difftool --dir-diff
дляvimdiff
. Не требует никаких плагинов vim.Все, что вам нужно сделать, это сказать,
git difftool
чтобы использоватьvdwrap
:В следующий раз, когда вы будете использовать git difftool, он откроет Vim с отдельными вкладками Vim для каждой пары файлов.
Предостережение в том, что это Zsh-скрипт. Преобразовать его в скрипт bash должно быть довольно просто, но я не дал этого.
источник
Если вы просто хотите использовать vimdiff, не устанавливая ничего лишнего, следующая команда откроет все различные файлы подряд, что позволит вам увидеть изменения с помощью vimdiff:
источник
Для этого есть легкое решение:
diff dir1 dir2 | vim -R -
на ракушке.Это добавит сгибы и параллельное сравнение для измененных файлов.
источник