Como obtenho cores diferentes para diretórios etc. no iTerm2?

26

Eu tenho um novo MacBookPro e instalei a versão mais recente do iTerm2.

Mesmo depois de importar vários esquemas de cores, percebo que eles mudam apenas a cor do texto e do plano de fundo.

O que eu esperava ver eram cores diferentes para arquivos, diretórios VS, arquivos ocultos VS, etc. Como faço isso no iTerm2?

Uma questão relacionada é como realmente especifico o que quero que as cores dos diretórios, arquivos etc. sejam?

obrigado

Spacey
fonte
Obrigado @JohnN, que ajudou, mas veja minha edição.
Spacey

Respostas:

26

Você tem que fazer duas coisas:

  • defina a LSCOLORSvariável de ambiente
  • crie um alias para lsque ele mostre cores por padrão

No seu ~/.bash_profileadd, adicione o seguinte:

export LSCOLORS="EHfxcxdxBxegecabagacad" 

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

As cores são definidas por cada bit acima; o primeiro sendo o primeiro plano e o segundo sendo o segundo plano. Os dois primeiros caracteres referem-se a diretórios com um primeiro plano em negrito azul e um plano de fundo cinza claro.

No entanto, há um ótimo utilitário on-line para ver o significado de cada uma das cores e a aparência em tempo real. Ele irá gerar o "código" para você. (Eu não sou afiliado a isso). Ele funcionará no MacOS / FreeBSD e Linux. Certifique-se de selecionar a opção BSD para o macOS.

Calculadora LSCOLORS


A ordem dos atributos é a seguinte:

1. diretório
2. link simbólico
3. tomada
4. tubo
5. executável
6. bloco especial
7. personagem especial
8. executável com setuid bit set
9. executável com setgid bit set
10. diretório gravável para outros, com bit pegajoso
11. diretório gravável para outros, sem pegajosa

Os designadores de cores são os seguintes:

um preto
b vermelho
c verde
d marrom
e azul
f magenta
g ciano
h cinza claro
Um preto arrojado, geralmente aparece como cinza escuro
B negrito vermelho
C negrito verde
D marrom arrojado, geralmente aparece como amarelo
E negrito azul
Magenta F negrito
G negrito ciano
H negrito cinza claro; parece branco brilhante
x primeiro plano ou plano de fundo padrão
Allan
fonte
Oi Allan, obrigado! Algumas perguntas, você pode explicar um pouco mais sobre i) Por que eu tenho que colocá-lo em .bash_profile e não dizer, o .zshrc que eu acho que era, e ii) um pouco mais sobre a parte LSCOLORS de exportação? Vou ao site que você mencionou e defina meu esquema de cores a partir daí? Como isso se encaixa nos esquemas de cores do iterm2? Obrigado!
Spacey
Talvez seja isso que está me confundindo: estou usando o iterm2. O que isso significa para qual arquivo alteramos? (.bash_profile VS .zshrc)? Por que vale a pena, sobre esta nova máquina eu tenho atualmente nem ...
Spacey
Ah, ok, o eco mostra bash. Então, devo criar um novo ~ / .bash_profile, suponho que não exista.
Spacey
4

Uma alternativa para LSCOLORSse GRC (o genérico Colouriser) , que pode ser usado com praticamente qualquer aplicativo de linha de comando, não apenas ls.

Se você tiver o Homebrew instalado, instale grccom brew install grc- isso configurará aliases automaticamente, inclusive para ls. Ele vem com aliases e arquivos de configuração para muitos comandos diferentes, e é (relativamente) trivial hackear um arquivo de configuração usando expressões regulares do Python para qualquer comando que grcnão cobre atualmente ( tmutile launchctl, por exemplo).

(Eu adicionaria isso à pergunta que sinalizei como uma possível fraude, mas com a sua edição provavelmente será mais útil aqui!)

John N
fonte
Eu instalei o grc e o ls não estava colorido. 'type ls' dá '/ bin / ls', nada de alias. De volta à solução bash profile, eu acho.
6005
@ 6005, você instalou o GRC brew? (E foi instalado com sucesso, sem erros?) O que o brew doctorrelatório informa - tem algum problema? Qual shell você está usando e modificou a configuração do shell? Pode ser necessário editar sua .bash_profile(ou configuração para qualquer shell que você use) para obter os aliases do GRC. Meu .bash_profiletem essa (embora eu adicionei-me - a minha festa de configuração é bastante esotérica ...):[ -f /usr/local/etc/grc.bashrc ] && . /usr/local/etc/grc.bashrc
John N
4

Abra bash_profile usando o comando:

open ~/.bash_profile

e adicione as seguintes linhas:

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'

depois forneça o bash_profile usando:

source ~/.bash_profile
KayV
fonte
KayV, o que isso faz exatamente? Você pode expandir por favor?
TheGrapeBeyond