Czy istnieje sposób, aby uzyskać kolorowe wydruki, używając uzupełniania tabulacji w terminalu? Moje kolory są w porządku wszędzie indziej, więc wiem, że pomyślnie włączyłem kolorowy terminal.
Używanie bash w Ubuntu (10.10).
Czy istnieje sposób, aby uzyskać kolorowe wydruki, używając uzupełniania tabulacji w terminalu? Moje kolory są w porządku wszędzie indziej, więc wiem, że pomyślnie włączyłem kolorowy terminal.
Używanie bash w Ubuntu (10.10).
Odpowiedzi:
W Bash nie ma możliwości kolorowania wydruków podczas ukończenia, tak jak w przypadku ryb i zsh. Można napisać funkcje uzupełniania, które generują sekwencje kontroli kolorów, ale trzeba będzie zachować kopie proponowanych uzupełnień z kodami kolorów i bez nich lub usunąć je, gdy użytkownik dokona wyboru, ponieważ Bash używa zaznaczenia bezpośrednio normalnie, a kody kolorów stanąć na przeszkodzie.
Jeśli jest to dla Ciebie ważna funkcja, polecam rozważyć użycie Zsh.
Aktualizacja
Bash 4.3 readline dodaje zmienną, która pozwala na kolor uzupełniania tabulacji, aby wyświetlać różne kolory dla plików wykonywalnych, katalogów itp. Podczas uzupełniania tabulatorów:
colored-stats
Readline w nadchodzącym Bash 4.4 dodaje zmienną, która umożliwia kolorowi wskazanie pasującej części łańcucha podczas uzupełniania tabulacji.
colored-completion-prefix
Możesz zobaczyć wartości tych zmiennych za pomocą
bind -v | grep color
Aby je ustawić, dodaj do ~/.inputrcpliku wiersze, takie jak:
set colored-stats on
LS_COLORSzmiennej środowiskowej”. Dokumentacja dla tej zmiennej znajduje się tutaj . Nie ma ustawienia dla manstron, więc musisz sprawdzić, gdzie LS_COLORSjest ustawiony, znaleźć kombinację kolorów, która odpowiada i zmienić go. W moim systemie mannazwy stron nie są kolorowe po wypełnieniu tabulatorami (i zepsute dowiązania symboliczne, a lsdane wyjściowe czerwono-szare ...)
bind -v | grep colorpokazuje oba set colored-completion-prefix oni set colored-stats on? Jeśli tak, co się stanie, gdy wpiszesz literę, a następnie naciśniesz dwukrotnie klawisz Tab? Jeśli dodałeś ustawienia do swojego, ~/.inputrcale nie uruchomiłeś nowego terminala lub nie wykonałeś re-read-init-filego, naciskając control-x control-r, ustawienia nie zostaną zastosowane.
Nie wiem, o kolorach zakończenia dla opcji polecenia i argumenty, ale dla nazwy pliku i katalogu, zgodnie z ( /unix//a/133866 ) stanów user495470 że w Bash 4.3 i później można dodać set colored-stats ondo ~/.inputrcdostać kolorowe zakończenie, kiedy to zrobisz ls <tab>.