Jestem nowy w OS X, właśnie dostałem komputer Mac po pracy z Ubuntu Linux na jakiś czas. Wśród wielu rzeczy, które próbuję rozgryźć, jest brak kolorów w oknie terminala - takich jak te, które są wyświetlane (w systemie Linux) podczas działania ls -la
lub git status
...
Po prostu nie mogę wymyślić, jak aktywować kolory w mojej skorupie.
Odpowiedzi:
Oto rozwiązanie, które znalazłem, aby umożliwić globalne kolory terminali .
Edytuj swój
.bash_profile
(od OS X 10.8) - lub (dla 10.7 i wcześniejszych):.profile
lub.bashrc
lub/etc/profile
(w zależności od dostępności) - w katalogu domowym i dodaj następujący kod:CLICOLOR=1
po prostu umożliwia kolorowanie terminala.LSCOLORS=...
określa sposób pokolorowania określonych elementów.Po edycji
.bash_profile
uruchom terminal i wymuś wprowadzenie zmian, wykonując:source ~/.bash_profile
Następnie przejdź do
Terminal > Preferences
, kliknijProfiles
kartę, a następnie kartęText
podrzędną i sprawdźDisplay ANSI Colors
.Zweryfikowano w Sierra (maj 2017 r.).
źródło
/etc/profile
i działa jak urok.export LS_COLORS
zdanieLSCOLORS=ExGxFxdxCxDxDxxbaDecac
Możesz użyć składni opartej na systemie Linux w jednym ze swoich skryptów startowych. Właśnie przetestowałem to na pudełku OS X Mountain Lion.
na przykład. w Twoim
~/.bash_profile
To daje ładną kolorową podpowiedź. Aby dodać kolorowy
ls
wydruk, możesz dodaćalias ls="ls -G"
.Aby przetestować, wystarczy uruchomić a,
source ~/.bash_profile
aby zaktualizować bieżący terminal.Uwaga dodatkowa na temat kolorów: Kolory są poprzedzone sekwencją zmiany znaczenia
\e
i zdefiniowane przez wartość koloru, złożoną[style;color+m]
i zawiniętą w[]
sekwencji zmiany znaczenia. na przykład.\[\e[0;31m\]
\[\e[1;31m\]
\[\e[0m\]
Zawsze dodam nieco zmodyfikowany schemat kolorów do .bash_profile roota, aby nazwa użytkownika była czerwona, więc zawsze widzę wyraźnie, czy jestem zalogowany jako root (przydatne, aby uniknąć błędów, jeśli mam wiele okien terminala).
W
/root/.bash_profile
:PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '
W przypadku wszystkich moich kont SSH online upewniam się, że nazwa hosta jest zaznaczona na czerwono, aby odróżnić, czy jestem w lokalnym, czy zdalnym terminalu. Po prostu edytuj
.bash_profile
plik w swoim katalogu domowym na serwerze. Jeśli nie ma.bash_profile
pliku na serwerze, możesz go utworzyć i powinien on zostać pobrany po zalogowaniu.Jeśli to nie działa zgodnie z oczekiwaniami, przeczytaj poniższe komentarze, ponieważ nie używam MacOS bardzo często.
Jeśli chcesz to zrobić na serwerze zdalnym, sprawdź, czy
~/.bash_profile
plik istnieje. Jeśli nie, po prostu utwórz go, a będzie on automatycznie pozyskiwany przy następnym logowaniu.źródło
PS1
$PWD
\u
PS1=\[\e[0;31m\]$PWD\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$
PROMPT_COMMAND
, musisz użyć\033
składni zamiast\e
. Przykład dodania kolorowego znacznika czasu przed wyświetlonym~/.bashrc
~/.bash_profile
PROMPT_COMMAND="${PROMPT_COMMAND}; echo; echo -e '\033[0;35m'\[\$(date +%F\ %T)\]'\033[m'"
Potwierdzono, że metody MartinVonMartinsgrün i 4Levels działają świetnie na Mac OS X Mountain Lion.
Plik, który potrzebowałem zaktualizować, to ~ / .profile.
Nie mogłem jednak pozostawić tego pytania, nie polecając mojej ulubionej aplikacji, iTerm 2 .
iTerm 2 umożliwia ładowanie globalnych schematów kolorów z pliku. Naprawdę łatwo eksperymentować i wypróbować kilka schematów kolorów.
Oto zrzut ekranu okna iTerm 2 i preferencji kolorów.
Gdy dodałem następujące elementy do mojego pliku ~ / .profile, iTerm 2 mógł zastąpić kolory.
Oto świetne repozytorium z kilkoma ładnymi ustawieniami wstępnymi:
Schematy kolorów iTerm2 na Github autorstwa mbadolato
Premia: Wybierz „Pokaż / ukryj iTerm2 za pomocą ogólnosystemowego skrótu” i powiąż klawisz BetterTouchTool, aby natychmiast ukryć / pokazać terminal gestem myszy.
źródło
baskerville
link na właściwy. Wydaje się niewłaściwe kopiuj-wklej.Jeśli chcesz pokolorować swój ls, musisz edytować plik ~ / .bash_profile i dodać następujący wiersz (jeśli jeszcze nie został napisany):
Następnie edytuj lub utwórz plik ~ / .bashrc i napisz alias do polecenia ls:
Teraz musisz wpisać
source .bashrc
terminal, jeśli jest już uruchomiony, lub po prostu otworzyć nowy terminal.Jeśli chcesz więcej opcji w swoim
ls
juste, przeczytaj instrukcję (man ls
). Opcje nie są dokładnie takie same jak w systemie GNU / Linux.źródło
Jeśli używasz tcsh, edytuj
~/.cshrc
plik, aby uwzględnić linie:Gdzie, jak mówi Martin, LSCOLORS określa schemat kolorów, którego chcesz użyć.
Aby wygenerować LSCOLORS, którego chcesz użyć, sprawdź tę stronę
źródło
bash
jest domyślny w OS X od października 2003 r.Sprawdź, co daje $ TERM: moje jest xterm-color, a ls -alG następnie wyświetla kolorowe wydruki.
źródło
xterm-256color
nie mam kolorów.CLICOLOR
iLSCOLORS
nie zmieniaj tego):Kiedy pracowałem w systemie Mac OS X w laboratorium, byłem w stanie uzyskać kolory terminala, używając Terminalu (a nie X11), a następnie edytując profil (z paska menu Mac). Interfejs jest nieco dziwny w kolorach, ale musisz ustawić zmodyfikowany motyw jako domyślny.
Dalsze ustawienia działały poprzez edycję
.bashrc
.źródło