34

Операционная система: Mac OS 10.6.2

Я хотел бы иметь возможность видеть цвет при выводе некоторых команд через меньше.

Два примера:

У меня есть псевдоним ls для ls --color = auto, поэтому я хотел бы видеть цвет, когда я делаю это:

ls -l | less

У меня также включено расширение цвета в Mercurial, поэтому я хотел бы видеть вывод цветов из:

hg diff | less

а также

hg st | less

После некоторого поиска в Google кажется, что некоторые версии менее поддерживают -r или -R, чтобы это работало, но для меня это не игра в кости. Я не вижу ничего на странице руководства, которая выглядит так, как мне нужно. (-r или -R СМОТРЕТЬ, чтобы быть правильными вариантами, но опять же, они, кажется, не работают)

7 ответов7

30

Для Mercurial, вы должны использовать расширение пейджера, а не пайпинг явно. Это будет хорошо играть с цветными параметрами вывода других команд hg.

13

Я считаю, что вы должны использовать --color=always для ls если вы хотите, чтобы он делал цвета, даже если вы не собираетесь использовать стандартный stdout . Затем используйте команду -r для команды less

ls --color=always -l | less -r
11

Делать:

$ hg diff --color always | less -R

Я бы псевдоним "меньше -R" меньше. Я не уверен, есть ли способ предоставить опции по умолчанию для команд mercurial, чтобы вам не приходилось постоянно вводить --color always для hg diff .

11

В вашем ~/.hgrc положите:

[extensions]
color =
pager =

[pager]
pager = LESS='FRSXQ' less
quiet = True
attend = outgoing,incoming,diff,status,log,qdiff,blame,annotate,pdiff,glog
2

Если вы не хотите использовать расширение Pager для Mercurial, вы можете использовать следующую команду:

hg diff | cdiff
0

ls --color=auto означает, что вы получаете цветной вывод, когда он не передается по каналу. Попробуй ls --colour=auto | cat и ты поймешь о чем я.

Я ожидаю, что HG делает аналогичные предположения.

0

https://www.mercurial-scm.org/wiki/Defaults

[по умолчанию] diff = - цвет всегда

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .