Как включить цветной выход для OSX diff?

Мне нужно разбить два файла (не две версии одного и того же файла, однако они отслеживаются git, но это не связано), и я хотел бы получить несколько цветных данных, как я могу это достичь?

$ diff file_1 file_2 1,9d0 < <script ... > < // more code < </script> $ 

Выше код показывает мне разницу между этими файлами, однако без каких-либо цветов. Для более длинных различий, которые трудно читать.


В качестве альтернативы, есть ли способ для git (с которым у меня есть хороший цветной вывод) для разграничения двух разных файлов (а не изменений в файле)?

OSX (10.7.5)

Perl имеет тусклую оболочку colordiff для diff, но я предпочитаю grc (generic colorizer) .

С помощью grc (generic colorizer) вы можете написать свои собственные обертки для разных типов команд или входов (если вам нравится такая штука).

Ниже grc работает против /var/log/syslog (в конфигурации этот файл установлен на определенную цветовую схему), где он выделяет процессы, pids, IP и «connect».

Конечно, рекомендуется использовать псевдоним, чтобы вы не забыли:

 alias diff="/usr/bin/grc /usr/bin/diff" 

Grc работает с syslog


Если у вас есть git, вы можете просто хотеть использовать это, что позволяет очень сильно diff даже по ветвям.

 git diff master:cogs/foo.txt branch:widgets/bar.txt 

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

 git diff old.txt new.txt 

Как всегда, вы можете использовать псевдоним для удобства использования.

 alias diff="git diff" 

Когда меняют файлы, я почти всегда использую vim:

 vim -d file_1 file_2 

Он не только использует цвета, но и строит файлы, поэтому легче видеть линии, добавленные / удаленные.

Вы можете получить git для разграничения двух разных файлов :

 git diff branch1:full/path/to/foo.txt branch2:full/path/to/foo-another.txt 

Чтобы опираться на утвержденный ответ: grc отлично подходит для этого. Он устанавливается с помощью варева и раскрашивает несколько команд терминала из коробки, а один из них – diff. Так…

 brew install grc 

… устанавливает grc в вашу систему. Затем вам нужно настроить свои псевдонимы, предостережение о варе дает решение. Просто добавьте следующую строку в ваш .bashrc или аналогичный.

 source "`brew --prefix`/etc/grc.bashrc" 

В настоящее время это добавит следующие псевдонимы:

 alias colourify="$GRC -es --colour=auto" alias configure='colourify ./configure' alias diff='colourify diff' alias make='colourify make' alias gcc='colourify gcc' alias g++='colourify g++' alias as='colourify as' alias gas='colourify gas' alias ld='colourify ld' alias netstat='colourify netstat' alias ping='colourify ping' alias traceroute='colourify /usr/sbin/traceroute' alias head='colourify head' alias tail='colourify tail' alias dig='colourify dig' alias mount='colourify mount' alias ps='colourify ps' alias mtr='colourify mtr' alias df='colourify df' 
  • Как установить оболочку в Mac OS X?
  • Отправка команд и строк в Terminal.app с помощью Applescript
  • Агент SSH теряет идентификатор во время перезагрузки машины
  • Как исследовать больше настроек по умолчанию для настройки на OS X?
  • Как ускорить работу Terminal.app или iTerm на Mac OSX?
  • Команда команды Git ведет себя как «меньше»,
  • Безопасно избавиться от «У вас новая почта в / var / mail» на Mac?
  • Отправить "C- (" Emacs в терминале VT100 / xterm (терминал Mac OS X)?
  • Как открыть приложение терминала из node.js?
  • Как я могу менять цвета терминала GNOME каждый раз, когда он запускается?
  • Цветовая схема не применяется в iTerm2
  • Interesting Posts

    запросить в Google Play магазине версию приложения?

    Java: инициализировать несколько переменных для цикла init?

    Как выделить синтаксис через Less

    Как удалить всплывающий экран Microsoft Virtual PC 2007?

    Можно ли установить async: false для вызова $ .getJSON

    Как отправить записи журнала на удаленный сервер, на котором запущен journald (systemd)

    Почему определения указателей функций работают с любым количеством амперсандов ‘&’ или звездочек ‘*’?

    Ошибка плагина: требуется плагин «Поддержка Android» отключен

    Панель инструментов Android Добавление элементов меню для разных fragmentов

    Генерировать classы Java из .XSD-файлов …?

    как создать неблокирующую асинхронную функцию в node.js?

    Чтение имен файлов из каталога

    Список управляющих последовательностей ANSI

    TextView.setTextSize ведет себя ненормально – как установить размер текстового изображения динамически для разных экранов

    Как я могу управлять звуковыми томами в моем приложении Android?

    Давайте будем гением компьютера.