Jak dostosować monit Zsh w terminalu macOS

  • macOS pozwala dostosować monit Zsh w Terminalu, aby wyróżniał się i odpowiadał Twoim preferencjom.
  • Utwórz profil .zshrc, aby zapisać wszystkie zmiany i ustawienia, które chcesz w wierszu poleceń zsh.
  • Zmodyfikuj monit zsh, dodając żądane wartości zmiennych, takich jak %n (nazwa użytkownika), %m (nazwa modelu komputera Mac), %W (data) i %T (godzina).

Niezależnie od tego, czy chcesz, aby monit Zsh miał inny kolor, wyświetlał dodatkowe szczegóły, czy też przyjął minimalistyczny wygląd, aby jak najlepiej wykorzystać przestrzeń, macOS pozwala to zrobić. Dowiedz się, jak dostosować monit Zsh w Terminalu, aby wyróżniał się niezależnie od tła.

Podstawy podpowiedzi zsh

Gdy otworzysz aplikację Terminal na komputerze Mac, wyświetli się kilka przydatnych informacji, takich jak dane o ostatnim logowaniu i wiersz poleceń. Tak zazwyczaj wygląda domyślnie zachęta:

 Last login: Wed Feb 3 22:00:40 on console
alvin@MacBook-Air ~ %

Podpowiedź zsh wyświetla ciąg tekstowy składający się z nazwy użytkownika i modelu komputera, np. MacBook Air, MacBook Pro, Mac mini i tak dalej. Tylda (~) wskazuje lokalizację podpowiedzi w katalogu domowym.

Jeśli przejdziesz do innego katalogu w systemie plików za pośrednictwem terminala, zamiast tyldy zostanie wyświetlona nazwa bieżącego katalogu.

Utwórz profil Z Shell, aby przechowywać wszystkie ustawienia

Zazwyczaj musisz majstrować przy plikach systemowych, aby zmienić domyślny wygląd. Dzieje się tak, ponieważ aktualizacje systemu macOS resetują wszystkie pliki systemowe do ustawień domyślnych, a wszystkie wprowadzone zmiany zostaną utracone. Możesz więc utworzyć specjalny plik ustawień (znany jako plik dot) dla swojego profilu Zsh, aby przechowywać wszystkie zmiany i ustawienia, które chcesz w wierszu polecenia Zsh.

Domyślnie nie znajdziesz tego pliku dot w systemie macOS, więc musisz go utworzyć. Zaleca się utworzenie nowego profilu .zshrc w celu przechowywania wszystkich ustawień, takich jak wygląd i zachowanie podpowiedzi Zsh. Oto jak utworzyć profil Zsh (plik dot):

  • Otwórz aplikację Terminal.
  • Wpisz następujące polecenie i naciśnij klawisz Return:
     touch ~/.zshrc 
  • Polecenie touch utworzy plik profilu .zshrc tylko wtedy, gdy jeszcze nie istnieje. Jeśli już istnieje, polecenie nic nie zrobi.

    Spowoduje to utworzenie profilu .zshrc w katalogu domowym Twojego konta użytkownika. Możesz go zobaczyć pod ścieżką /User// w Finderze, jeśli włączyłeś przeglądanie ukrytych plików systemowych na komputerze Mac.

    Następnie profil Zsh będzie dostępny dla interaktywnych powłok bez logowania przy każdym uruchomieniu Terminalu. Będzie on jednak używany w powłokach logowania tylko wtedy, gdy nie ma innych plików specyficznych dla logowania, takich jak .zprofile i .zlogin.

    Dostosowywanie monitu zsh w terminalu

    Zazwyczaj domyślny monit Zsh zawiera informacje takie jak nazwa użytkownika, nazwa komputera i lokalizacja, zaczynając od katalogu domowego użytkownika. Szczegóły te są przechowywane w pliku systemowym powłoki zsh w lokalizacji /etc/zshrc:

     PS1="%n@%m %1~ %#" 

    W tym ciągu zmiennych:

    • %n to nazwa użytkownika Twojego konta.
    • %m to nazwa modelu Twojego Maca.
    • %1~ oznacza bieżącą ścieżkę katalogu roboczego, gdzie ~ usuwa lokalizację katalogu $HOME.
    • %# oznacza, że ​​znak zachęty wyświetli #, jeśli powłoka działa z uprawnieniami roota (administratora), i %, jeśli nie.

    Aby dokonać jakichkolwiek zmian w domyślnym znaku zachęty Zsh, musisz dodać odpowiednie wartości, aby zachęta wyglądała inaczej niż domyślnie.

    Oto jak się do tego zabrać. Otwórz Terminal, wpisz następujące polecenie i naciśnij Return:

     nano ~/.zshrc 

    Jeśli plik profilu .zshrc istniał już wcześniej, istnieje ryzyko, że nie będzie pusty. Jeśli jednak nie istniało ono po uruchomieniu powyższego polecenia dotykowego, będzie puste. Możesz dodać nową linię z tekstem PROMPT=’…’ lub PS1=’…’ i uwzględnić odpowiednie wartości w wielokropkach.

    Aby dokonać prostej modyfikacji monitu zsh, możesz wpisać te wartości w profilu .zshrc:

     PROMPT='%n:~$' 

    Naciśnij Ctrl + O, aby potwierdzić wprowadzenie zmian w pliku, a następnie naciśnij Ctrl + X, aby wyjść z edytora nano.

    Otwórz nowe okno terminala, naciskając Cmd + T, aby potwierdzić i wyświetlić właśnie wprowadzone zmiany. Twój nowy monit Zsh wyświetli nazwę użytkownika komputera Mac, katalog domowy i symbol $ na końcu. Możesz dodać odstępy w powyższej zmiennej PROMPT pomiędzy %n, ~ i $, jeśli wolisz zmienne rozmieszczone w terminalu.

    Jeśli chcesz mieć niestandardową nazwę użytkownika, zamień %n na preferowaną opcję. Oto przykład:

     PROMPT='customusername~$' 

    Teraz, jeśli otworzysz nowe okno Terminala, zobaczysz następujące informacje:

    Jeśli chcesz ręcznie zmienić dowolny inny parametr, możesz to zrobić, zastępując zmienne domyślne, stosując format podany w powyższej zmiennej PS1. Możesz dołączyć lub usunąć informacje z monitu Zsh, zgodnie ze swoimi preferencjami.

    Jeśli brzmi to zbyt skomplikowanie, skorzystaj z witryny takiej jak Generator podpowiedzi Zsh aby pomóc Ci dostosować powłokę Z.

    Dodaj datę i godzinę do monitu zsh

    Oprócz nazwy użytkownika możesz dołączyć bieżącą datę lub godzinę, dzięki czemu nie musisz odwracać wzroku od aktywnego okna terminala, aby sprawdzić te informacje.

    Uruchom terminal i otwórz profil .zshrc:

     nano ~/.zshrc 

    Aby umieścić datę w monicie, możesz użyć %D, aby data była wyświetlana w formacie rr-mm-dd, lub %W, aby była wyświetlana w formacie mm/dd/rr. Następnie nowy monit pojawi się w następujący sposób:

     PROMPT='%n:%W:~$' 

    Użyliśmy dwukropka (:) w powyższej zmiennej PROMPT, aby dodać wizualną separację, ale możesz użyć spacji lub czegokolwiek innego. Na przykład używamy znaku większości (>) do oddzielenia czasu i bieżącego katalogu.

    Jeśli chcesz uwzględnić czas systemowy w podpowiedzi zsh, dodaj %T dla bieżącego czasu w formacie 24-godzinnym, %t, aby czas był wyświetlany w formacie 12-godzinnym, lub użyj %*, aby wyświetlić czas w formacie 24-godzinnym -godzinny format wraz z sekundami.

     PROMPT='%n@%T>~$' 

    Wyświetl datę i godzinę po prawej stronie monitu zsh

    Aby wyświetlić informacje po prawej stronie znaku zachęty zsh, musisz dodać zmienną RPROMPT do pliku zshrc. Na przykład, aby dodać datę i godzinę, wprowadź następujące dane:

    RPROMPT='%D @ %T'

    Twój monit będzie teraz wyglądał następująco:

    Dodaj kolor do tekstu w wierszu polecenia zsh

    Oprócz modyfikowania kolorów aplikacji Terminal, możesz dodać trochę koloru do tekstu w swoim profilu Zsh na Macu, aby uzyskać ładną przerwę wizualną. Uruchom Terminal i otwórz profil .zshrc:

     nano ~/.zshrc 

    Powłoka Z obsługuje kolory i odcienie szarości tekstu zachęty, aby uzupełnić tło. Można wybrać kolor pierwszego planu (tekstu) spośród następujących opcji: czarny, biały, żółty, zielony, czerwony, niebieski, cyjan i magenta. Oto jak z nich korzystać:

     PROMPT='%F{cyan}%n%f:~$' 

    Jeśli chcesz wybrać konkretny odcień koloru Zsh, możesz wybierać spośród 256 8-bitowych kolorów obsługiwanych przez Terminal. Oto jak używać wartości liczbowych kolorów:

     PROMPT='%F{51}%n%f:~$' 

    Musisz umieścić domyślne zmienne koloru pierwszego planu %F i %f pomiędzy odpowiednim tekstem, który chcesz pokolorować.

    Dodawanie efektów wizualnych w wierszu polecenia zsh

    Jeśli kolorowanie tekstu podpowiedzi nie wystarczy, możesz wyróżnić zachętę Zsh, aby wyróżniała się na tle ściany tekstowej. Na początek możesz pogrubić monit Zsh:

     PROMPT='%B%F{51}%n%f%b:~$' 

    Dodanie %B na początku i umieszczenie %b na końcu pomiędzy odpowiednim tekstem spowoduje pogrubienie.

    Podobnie możesz umieścić %S na początku i %s na końcu, aby podświetlić tekst. Podświetlenie będzie miało ten sam kolor, który wybrałeś pomiędzy zmiennymi %S i %s.

     PROMPT='%S%F{51}%n%f%s:~$' 

    Możesz także podkreślić tekst zachęty Zsh. Aby dodać podkreślenie do podpowiedzi, możesz umieścić zmienną %U na początku i %u na końcu odpowiedniego tekstu.

     PROMPT='%U%F{51}%n%f%u:~$' 

    Usuń dane ostatniego logowania z monitu zsh

    Ukrycie lub wyłączenie górnej linii ujawniającej czas ostatniego logowania w aplikacji Terminal może nadać monitowi Zsh bardziej przejrzysty wygląd. Aby ukryć te informacje, możesz użyć następującego polecenia:

     touch ~/.hushlogin 

    Gdy następnym razem otworzysz Terminal, nie zobaczysz niczego powyżej monitu zsh.

    Zresetuj swoją personalizację zsh

    Jeśli potrzebujesz nowego początku, możesz to zrobić, ustawiając zmienną PROMPT lub PS1 na wartość domyślną:

     PROMPT="%n@%m %1~ %#" 

    Jeśli dodałeś informacje po prawej stronie podpowiedzi zsh za pomocą RPROMPT, usuń je z .zshrc.

    Alternatywnie możesz bezpiecznie usunąć zmienne PROMPT/PS1 i RPROMPT z pliku .zshrc. Nie martw się, ponieważ ustawienia w pliku .zshrc dotyczą tylko bieżącego profilu użytkownika. Jeśli usuniesz oba, użyte zostaną ustawienia domyślne zapisane w pliku systemowym powłoki Z w katalogu /etc/zshrc.

    Teraz, gdy znasz już wszystkie szczegóły dotyczące dostosowywania podpowiedzi Zsh, poeksperymentuj trochę i dostosuj go do własnych potrzeb. Możesz pogrubić, podkreślić, skrócić, a nawet zawrzeć w nim więcej informacji. A jeśli nie będziesz zadowolony ze zmian, zawsze możesz szybko wrócić do wyglądu domyślnego.