2011-02-10 12 views
6

Quiero usar colorante en la salida de git, por ejemplo .:¿Cómo se define ESC char en git?

git log --decorate --color 

Cuando ejecute este comando consigo salida que parece ESC[1;32m donde ESC es en color inverso.
Esto me parece una secuencia de escape válida, excepto que debe enviarse \033 y no los caracteres E, S y C.
Cuando ejecuto un comando ls, obtengo colores de los archivos según los derechos. Entonces, nada de malo con las capacidades.

¿Hay una variable de entorno que deba establecerse en el valor de ESC char? ¿O estoy mirando en la dirección incorrecta?
Me postulo openSUSE 11.1

+0

¿Qué terminal está utilizando? – kennytm

Respuesta

9

Parece que su terminal (o cualquier manipulación de la salida del programa) no entender esto, y mostró ESC como un marcador para el \033. Si está utilizando less para mostrar la salida, entonces necesita el parámetro -R.

Estoy usando la configuración core.pager=less -XRMSI, y funciona bien aquí (también es openSUSE, aunque no estoy seguro de qué versión). (Antes de cambiar, busque su configuración actual con git config -l y recuerde el valor anterior. También le recomendamos que lea la documentación de less sobre los interruptores utilizables).

+0

Gracias, eso fue todo. ¡Excepto que es core.pager y no git.pager! –

+0

Esto viene de intentar volver a escribir en lugar de simplemente copiar y pegar ... Lo cambiaré, gracias por tomar nota. –

+2

Otra opción que encontré útil es: 'git config --global core.pager 'less $ LESS -FRXS'' –