¿Cómo obtengo diferentes colores para directorios, etc. en iTerm2?

26

Tengo un nuevo MacBookPro e instalé la última versión de iTerm2.

Incluso después de importar varios esquemas de color, noto que solo cambian el color del texto y el fondo solamente.

Lo que esperaba ver eran diferentes colores para archivos VS directorios, VS archivos ocultos, etc. ¿Cómo hago eso en iTerm2?

Una pregunta relacionada es cómo especifico realmente lo que quiero que sean los colores de los directorios, archivos, etc.

Gracias

Spacey
fuente
Gracias @JohnN, eso ayudó, pero mira mi edición.
Spacey

Respuestas:

26

Tienes que hacer dos cosas:

  • establecer la LSCOLORSvariable de entorno
  • crea un alias para lsque muestre colores por defecto

En su ~/.bash_profilecomplemento lo siguiente:

export LSCOLORS="EHfxcxdxBxegecabagacad" 

alias ls='ls -lGH'        <-----This shows in list format, follow symlinks colorized

Los colores se establecen por cada bit de arriba; el primero en primer plano y el segundo en segundo plano. Los primeros dos caracteres se refieren a directorios que tienen un primer plano en negrita azul y un fondo gris claro.

Sin embargo, hay una gran utilidad en línea para ver qué significa cada color y cómo se ve en tiempo real. Incluso generará el "código" para usted. (No estoy afiliado a esto en absoluto). Funcionará tanto en MacOS / FreeBSD como en Linux. Asegúrese de seleccionar la opción BSD para macOS.

Calculadora LSCOLORS


El orden de los atributos es el siguiente:

1. directorio
2. enlace simbólico
3. zócalo
4. tubería
5. ejecutable
6. bloque especial
7. personaje especial
8. ejecutable con setuid bit set
9. ejecutable con setgid bit set
10. directorio escribible para otros, con bit pegajoso
11. directorio de escritura para otros, sin pegajoso

Los designadores de color son los siguientes:

un negro
b rojo
c verde
d marrón
e azul
f magenta
g cian
h gris claro
Un negro audaz, generalmente aparece como gris oscuro
B rojo negrita
C negrita verde
D marrón negrita, generalmente aparece como amarillo
E negrita azul
F negrita magenta
G negrita cian
H negrita gris claro; parece blanco brillante
x primer plano o fondo predeterminado
Alano
fuente
Hola Allan, gracias! Un par de preguntas, ¿puede explicar algo más sobre i) ¿Por qué tengo que ponerlo en .bash_profile y no decir, el .zshrc, creo que era, y ii) un poco más sobre la parte de exportación LSCOLORS? ¿Voy a ese sitio que mencionaste y establezco mi esquema de color desde allí? ¿Cómo funciona esto con los esquemas de color de iterm2? ¡Gracias!
Spacey
Quizás esto es lo que me confunde: estoy usando iterm2. ¿Qué significa esto para qué archivo cambiamos? (.bash_profile VS .zshrc)? Por lo que vale, en esta nueva máquina actualmente no tengo ninguno ...
Spacey
Ah, está bien, el eco se muestra bash. Así que debería hacer un nuevo ~ / .bash_profile, supongo, ya que no existe ninguno.
Spacey
4

Una alternativa a LSCOLORSes GRC (genérico Colouriser) , que se puede utilizar con casi cualquier aplicación de línea de comandos, no sólo ls.

Si tiene instalado Homebrew, instálelo grccon brew install grc: esto configurará los alias automáticamente, incluso para ls. Viene con alias y archivos de configuración para muchos comandos diferentes, y es (relativamente) trivial piratear un archivo de configuración usando expresiones regulares de Python para cualquier comando que grcactualmente no cubre ( tmutily launchctl, por ejemplo).

(Iba a agregar esto a la pregunta que marqué como un posible engaño, ¡pero con su edición probablemente sea más útil aquí!)

John N
fuente
Instalé grc y ls no estaba coloreado en absoluto. 'type ls' da '/ bin / ls', nada alias. De vuelta a la solución de perfil bash, supongo.
6005
@ 6005, ¿instaló GRC brew? (¿Y se instaló exitosamente, sin errores?) ¿Qué brew doctorreporta - algún problema? ¿Qué shell está utilizando y ha modificado la configuración del shell? Es posible que deba editar su .bash_profile(o configuración para cualquier shell que utilice) para obtener los alias GRC. Mi .bash_profiletiene esto (aunque lo agregué yo mismo; mi configuración de bash es bastante esotérica ...):[ -f /usr/local/etc/grc.bashrc ] && . /usr/local/etc/grc.bashrc
John N
4

Abra bash_profile usando el comando:

open ~/.bash_profile

y agregue las siguientes líneas:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

luego fuente bash_profile usando:

source ~/.bash_profile
KayV
fuente
KayV, ¿qué hace esto exactamente? ¿Puedes ampliar por favor?
TheGrapeBeyond