Любой визуальный diff в консоли Linux?

Много лет назад я использовал d32, который был доступен для DOS и Linux.

Является ли визуальный diff без GUI доступным для Linux как этот?

Любые другие, кроме Vim и Emacs (Vim и Emacs слишком мощные:-))

Ответ 1

Я использую vimdiff. Или существует также sdiff.

Ответ 2

Если вам удобно с git, вы также можете использовать git diff для создания пути для вас. Обычно это дает вам красивые цвета, страница less и выводит формат унифицированный diff по умолчанию. Он будет работать независимо от того, являются ли файлы частью репозитория git.

git diff -- file.a file.b

Если file.a и file.b находятся в репозитории git и не отслеживаются, вам необходимо предоставить --no-index:

git diff --no-index -- file.a file.b

поскольку git будет по умолчанию отличаться от индекса.

Ответ 3

Вы можете попробовать ColorDiff.

Ответ 4

Ни один из существующих ответов здесь не подходит для моего варианта использования, но я нашел cdiff, что является прекрасным маленьким программным обеспечением, которое делает именно то, что мне нужно:

Инструмент, основанный на терминах, для просмотра цветного, инкрементного разброса в рабочем пространстве Git/Mercurial/Svn или из stdin, с бок о бок и поддержкой автоматического пейджера.

Здесь выглядит режим "бок о бок":

side by side diff output

Ответ 5

Vim поставляется с vimdiff, который работает очень хорошо...

Ответ 6

Лично мне нравится использовать vimdiff. Но если вы не знаете vim, который не будет вам полезен.

Ответ 7

В вашем заголовке упоминается "консоль Linux", но в вашем вопросе упоминается meld, который является графическим приложением. Это может помочь ответчикам, если вы можете это прояснить.

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

Если вы действительно ограничены использованием консоли (т.е. только для текста), то помимо утилит diff, встроенных в такие редакторы, как vim и emacs, вы также можете попробовать исходную утилиту командной строки diff. Мне очень полезно использовать параметр -y для отображения файлов бок о бок, и есть другие параметры, которые я использовал для отображения "унифицированных" различий и для точного определения количества контекста в сопоставленных различиях. Если вы передаете diff-выход в less, вы можете просматривать его с удобством.

Ответ 8

vimdiff сделает то, что вы хотите. Vim устанавливается по умолчанию для большинства дистрибутивов Linux, поэтому вам, вероятно, даже не нужно ничего устанавливать.

Ответ 9

Emacs имеет встроенный инструмент визуального разграничения: M-x ediff.

Ответ 10

Я начал перестраивать xxdiff в консоли (так как я полностью переключился на развитие консоли tmux) в новый однофайловый инструмент на основе Python, который я называю "termdiff". Я столкнулся с проблемами совместимости с проклятиями, поэтому теперь я надел это на лед, мне просто нужно некоторое время, чтобы исправить незначительные проблемы с заполнением пустого пространства, но в настоящее время он выплескивает вывод, который выглядит так же, как xxdiff, и вы можете передать это на меньшее.

http://furius.ca/xxdiff/bin/termdiff

Попробуйте termdiff --cat или termdiff --less, он работает.

Тем временем я использую настраиваемую конфигурацию и ediff для Emacs, но для начала я немного вялый, мне все равно нужна специальная программа diff-startup на консоли.

Ответ 11

Midnight Commander (mc) имеет встроенный diff и намного более полезные функции. Попробуйте:

sudo apt install mc