Jak uzyskać różne kolory dla katalogów itp. W iTerm2?

26

Mam nowego MacBookPro i zainstalowałem najnowszą wersję iTerm2.

Nawet po zaimportowaniu różnych schematów kolorów zauważam, że zmieniają one tylko kolor tekstu i tła.

Spodziewałem się różnych kolorów plików VS katalogi, VS ukryte pliki itp. Jak to zrobić w iTerm2?

Powiązane pytanie brzmi: jak właściwie określić kolory katalogów, plików itp.?

Dzięki

Spacey
źródło
Dzięki @JohnN, to pomogło, ale proszę zobaczyć moją edycję.
Spacey

Odpowiedzi:

26

Musisz zrobić dwie rzeczy:

  • ustaw LSCOLORSzmienną środowiskową
  • utwórz alias, lsaby domyślnie wyświetlał kolory

W swoim ~/.bash_profiledodaniu:

export LSCOLORS="EHfxcxdxBxegecabagacad" 

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

Kolory są ustawiane przez każdy bit powyżej; pierwszy to pierwszy plan, a drugi to tło. Pierwsze dwa znaki odnoszą się do katalogów mających odważny niebieski pierwszy plan i jasnoszare tło.

Istnieje jednak świetne narzędzie online, które pozwala zobaczyć, co oznaczają poszczególne kolory i jak wyglądają w czasie rzeczywistym. Wygeneruje nawet „kod” dla Ciebie. (W ogóle nie jestem z tym związany). Będzie działać zarówno w systemie MacOS / FreeBSD, jak i Linux. Upewnij się, że wybrałeś opcję BSD dla macOS.

Kalkulator LSCOLORS


Kolejność atrybutów jest następująca:

1. katalog
2. link symboliczny
3. gniazdo
4. rura
5. wykonywalny
6. blok specjalny
7. charakter specjalny
8. wykonywalny z ustawionym bitem setuid
9. plik wykonywalny z ustawionym bitem setgid
10. katalog do zapisu dla innych, z lepkim bitem
11. katalog zapisywalny innym osobom, bez przyklejania

Oznaczenia kolorów są następujące:

czarny
b czerwony
c zielony
d brązowy
e niebieski
f magenta
g cyjan
h jasnoszary
Odważna czerń, zwykle pojawia się jako ciemnoszara
B pogrubiony czerwony
C pogrubiony zielony
D pogrubiony brąz, zwykle pojawia się jako żółty
E pogrubiony niebieski
F pogrubiony purpurowy
G pogrubiony cyjan
H pogrubiony jasnoszary; wygląda jak jasna biel
x domyślny pierwszy plan lub tło
Allan
źródło
Cześć Allan, dzięki! Kilka pytań, czy możesz wyjaśnić coś więcej na temat i) Dlaczego muszę go umieścić w pliku .bash_profile, a nie powiedzieć, że .zshrc, tak myślę, i ii) trochę więcej o części dotyczącej eksportu LSCOLORS? Czy przechodzę do wspomnianej witryny i stamtąd ustawiam kolorystykę? Jak to się kręci z kolorami iterm2? Dzięki!
Spacey
Być może to mnie dezorientuje: używam iterm2. Co to oznacza dla którego pliku zmieniamy? (.bash_profile VS .zshrc)? Za to, co jest warte, na tej nowej maszynie nie mam obecnie ...
Spacey
Ach, ok, echo pokazuje bash. Więc powinienem stworzyć nowy ~ / .bash_profile, chyba nie istnieje.
Spacey
4

Alternatywą dla LSCOLORSjest GRC (GeneRic Colouriser) , którego można używać z dowolną aplikacją wiersza poleceń, nie tylko ls.

Jeśli masz zainstalowany Homebrew, zainstaluj grcz brew install grc- to automatycznie skonfiguruje aliasy, w tym dla ls. Zawiera aliasy i pliki konfiguracyjne dla wielu różnych poleceń, a hakowanie pliku konfiguracyjnego przy użyciu wyrażeń regularnych Python dla dowolnego polecenia, które grcobecnie nie obejmuje ( tmutili launchctlna przykład) , jest (względnie) banalne .

(Chciałem dodać to do pytania, które oznaczyłem jako możliwy duplikat, ale przy waszej edycji jest to prawdopodobnie bardziej przydatne tutaj!)

John N.
źródło
Zainstalowałem grc i LS nie był w ogóle pokolorowany. „type ls” daje „/ bin / ls”, nic nie ma aliasu. Wracam do rozwiązania profilu bash.
6005
@ 6005, czy zainstalowałeś GRC brew? (I czy instalacja przebiegła pomyślnie, bez błędów?) Co brew doctorzgłasza - jakieś problemy? Jakiej powłoki używasz i czy w ogóle zmodyfikowałeś konfigurację powłoki? Może być konieczne zmodyfikowanie .bash_profile(lub skonfigurowanie dowolnej powłoki), aby uzyskać aliasy GRC. Mam .bash_profileto (chociaż sam to dodałem - moja konfiguracja bash jest dość ezoteryczna ...):[ -f /usr/local/etc/grc.bashrc ] && . /usr/local/etc/grc.bashrc
John N
4

Otwórz bash_profile za pomocą polecenia:

open ~/.bash_profile

i dodaj następujące linie:

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'

następnie źródłowy profil bash używając:

source ~/.bash_profile
KayV
źródło
KayV, co to dokładnie robi? Czy możesz rozwinąć, proszę?
TheGrapeBeyond