Aby lepiej rozpoznać początek i koniec danych wyjściowych w wierszu poleceń, chcę zmienić kolor mojego monitu, aby był wyraźnie różny od wyników programu. Kiedy używam Zsh, czy ktoś może dać mi wskazówkę?Jak mogę zmienić kolor mojego monitu w zsh (inny niż zwykły tekst)?
Odpowiedz
Oto przykład, w jaki sposób ustawić czerwony wiersz:
PS1=$'\e[0;31m$ \e[0m'
Magia jest \e[0;31m
(skręcić na czerwonym pierwszym planie) i \e[0m
(wyłącz charakter atrybutów). Są to tak zwane sekwencje specjalne. Różne sekwencje specjalne dają różne wyniki, od bezwzględnego pozycjonowania kursora, poprzez kolor, po możliwość zmiany paska tytułu okna i tak dalej.
Więcej na sekwencje, patrz the wikipedia entry on ANSI escape codes
umieścić to w ~/.zshrc
:
autoload -U colors && colors
PS1="%{$fg[red]%}%n%{$reset_color%}@%{$fg[blue]%}%m %{$fg[yellow]%}%~ %{$reset_color%}%% "
Obsługiwane Kolory:
czerwony, niebieski, zielony, błękitny, żółty, magenta, czarny & Biały (z this answer), chociaż różne komputery mogą mieć różne prawidłowe opcje.
Kody kolorów surround (i wszelkie inne znaki niedrukowalne) z %{....%}
. Jest tak, aby zawijanie tekstu działało poprawnie.
Uzgodniono, zdecydowanie najlepszą odpowiedź (na szczęście ta odpowiedź była trzecim wynikiem Google ;) – new123456
nie działa dla mnie. :( 'zsh: kolory: plik definicji funkcji nie został znaleziony' – balki
Używasz ZSH4? Nie sądzę, że działa on w wersjach mniejszych niż 4.3.11. Jeśli masz najnowszą wersję może to nie używa odpowiednich plików. –
Zsh ma wbudowane kolorowe monity. Spróbuj
autoload -U promptinit && promptinit
a następnie prompt -l
wymienia dostępne monitowania -p fire
zapowiedzi "ognia" polecenia, -s fire
ustawia go.
Gdy jesteś gotowy, aby dodać wiersz dodać coś jak ten poniżej linii autoload powyżej:
prompt fade red
Nie wiedziałem o tym, dziękuję –
Plus jeden za pokazanie oficjalnego sposobu: – Lokesh
Czy istnieje sposób na kolorowanie wszystkich motywów? lubisz to na czerwono. –
Nie sądzę autoload -U colors && colors
jest już potrzebne i można po prostu zrobić:
PS1="%{%F{red}%}%n%{%f%}@%{%F{blue}%}%m %{%F{yellow}%}%~ %{$%f%}%% "
, aby osiągnąć ten sam wynik, co FireDude's answer. Zobacz ZSH documentation, aby uzyskać więcej informacji.
FYI. Właśnie próbowałem w Ubunutu 11.04 i kolory nie działały dla mnie bez 'autoload -U colors && colors' –
Weird. Działa dla mnie na OS X i Ubuntu 10.04. –
@Andrew Marshall Tak, ale jest bardziej prawdopodobne, że będzie działać z 'autoload'. –
człowiek zshall i szukać do niezwłocznego ROZBUDOWY
Po przeczytaniu istniejących odpowiedzi tutaj, kilka z nich są sprzeczne. Próbowałem różnych podejść do systemów działających z Zsh 4.2 i 5+ i odkryłem, że powodem, dla którego te odpowiedzi są sprzeczne, jest to, że nie określają, z której wersji ZSH są skierowane. Różne wersje używają różnych składni, a niektóre z nich wymagają różnych autoload.
Najlepszym rozwiązaniem jest prawdopodobnie zshall i wyszukanie PROMPT EXPANSION, aby poznać wszystkie zasady dotyczące konkretnej instalacji zsh. Uwaga w komentarzach, takie rzeczy jak "Używam Ubuntu 11.04 lub 10.4 lub OSX" Nie są zbyt znaczące, ponieważ nie jest jasne, której wersji ZSH używasz. Ubuntu 11.04 nie implikuje nowszej wersji ZSH niż Ubuntu 10.04. Może istnieć wiele przyczyn zainstalowania starszej wersji. W tym przypadku nowsza wersja ZSH nie implikuje, której składni użyć, nie wiedząc, która wersja ZSH jest.
I odkryli, że z zsh5 (domyślnie jeden na Debianie Jessie), wszystkie te rozwiązania działa:
$'\e[00m
$fg[white]
$fg{white}
Teraz mają problem: przesuwają kursor, powodując brzydkie naklejenie podczas zakładania (dla automatycznego uzupełniania). Rozwiązaniem jest po prostu otoczyć sekwencje specjalne za pomocą %{FOOBAR%}
. Zajęło mi trochę czasu, aby to zrozumieć. Dla rozwiązań 2. i 3. ładowanie modułu colors
jest obowiązkowe. Aby zachować czytelność pierwszego rozwiązania, wystarczy zdefiniować zmienne dla używanych kolorów.
- 1. Jak przechowywać hasło inne niż zwykły tekst?
- 2. Jak wstawić zwykły tekst?
- 3. Jak zmienić tekst i kolor tła QPushButton
- 4. Jak mogę zmienić kolor textView android.R.layout.simple_spinner_dropdown_item?
- 5. Jak przekonwertować tekst reStructuredText na zwykły tekst
- 6. Jak mogę zmienić kolor nagłówka w Xyplot?
- 7. Przekształcanie NSAttributedString w zwykły tekst
- 8. Uzyskaj zwykły tekst z XMLHttpRequest responseText
- 9. Konwertuj zwykły tekst na PDF w Pythonie
- 10. Jak mogę zmienić kolor linii stanu vim?
- 11. Dlaczego nie mogę zmienić ramki mojego UILabel?
- 12. Jak zmienić kolor tekstu JButton'a
- 13. Ustaw tekst paska zadań inny niż tytuł okna w wpf
- 14. Czy możesz zmienić jeden kolor na inny w obrazie bitmapowym?
- 15. Jak zmienić kolor uchwytów EditText?
- 16. Jak zmienić kolor UIFont?
- 17. SampleSyncAdapter przechowywanie hasła zwykły tekst?
- 18. Jak zmienić kolor JSeparatora?
- 19. Jak zmienić kolor tła storyboardu w Xcode?
- 20. Jak zmienić kolor tekstu w IFrame
- 21. Jak mogę zmienić kolor określonego pojemnika na histogramie?
- 22. Jak zmienić kolor JProgressBar?
- 23. Jak zmienić kolor UIBezierPath w Swift?
- 24. Jak zmienić kolor mojego Terminal.App po zalogowaniu się do mojego pilota produkcyjnego na Heroku?
- 25. Jak mogę zmienić kolor tła fokusowanego elementu na kilka sekund?
- 26. Czy mogę zmienić tytuł mojego folderu FolderBrowserDialog?
- 27. Jak zmienić kolor NSString w drawAtPoint
- 28. Jak mogę zmienić kolor obrazu w silverlight/WP7 (Color Mask)?
- 29. Jak mogę zmienić kolor linii siatki siatki w WPF?
- 30. Chart.js kolor Tekst
Dziękuję za pomoc, która pomaga. – Mnementh
Używam PROMPT = "[%!]" W moim .zshrc. Jak możesz to pokolorować? Uruchomiłem bez powodzenia PROMPT = '\ e [0; 31m [%!] \ E [0m' w moim .zshrc. –
@Masi wypróbuj $ 'string' – balki