2011-02-10 20 views
6

chcę użyć koloryt produkcji git, np .:Jak zdefiniować znak ESC w git?

git log --decorate --color 

Kiedy wydawać polecenia otrzymuję wyjście wygląda jak ESC[1;32m gdzie ESC jest w odwróconych kolorach.
To wygląda na prawidłową sekwencję unikową, z wyjątkiem tego, że musi zostać wysłana \033, a nie znaki: E, S i C.
Po wydaniu polecenia ls uzyskuję kolorystykę plików zgodnie z uprawnieniami. Nic złego w tym zakresie.

Czy istnieje zmienna środowiskowa, która musi być ustawiona na wartość znaku ESC? A może patrzę w niewłaściwym kierunku?
używam openSUSE 11.1

+0

Z jakiego terminala korzystasz? – kennytm

Odpowiedz

9

Wygląda na terminalu (lub dowolnego programu obsługującego wyjście) nie rozumie tego i pokazał ESC jako zastępczy dla \033. Jeśli używasz less, aby wyświetlić dane wyjściowe, wówczas wymagany jest parametr -R.

Używam konfiguracji core.pager=less -XRMSI, i działa dobrze tutaj (również openSUSE, choć nie jestem pewien, która wersja). (Przed zmianą sprawdź aktualną konfigurację pod numerem git config -l i zapamiętaj starą wartość. Możesz również przeczytać dokumentację o przełącznikach, które można użyć.

+0

Dzięki, to się udało. Poza tym, że jest core.pager, a nie git.pager! –

+0

To pochodzi z próby ponownego wpisywania, zamiast po prostu kopiowania i wklejania ... Zmienię to, dziękuję za uwagę. –

+2

Inną opcją, która okazała się przydatna, jest: 'git config --global core.pager 'less $ LESS -FRXS'' –