Як отримати кольорову вкладку?


18

Чи є спосіб отримати кольоровий вихід при використанні завершення вкладки в терміналі? Мої кольори є чудовими скрізь, тому я знаю, що я ввімкнув кольоровий термінал успішно.

Використання bash в Ubuntu (10.10).


Як вказати "кольоровий вихід при використанні доповнення вкладки"?
slhck

Відповіді:


21

Немає можливості в Bash випускати кольори під час завершення, як це є в рибі та zsh. Можна записати функції завершення, які виводять послідовності керування кольором, але вам доведеться підтримувати копії запропонованих доповнень з кольоровими кодами та без них або позбавити їх, коли користувач робить вибір, оскільки Bash використовує виділення безпосередньо, і кольорові коди будуть заважати.

Якщо це важлива особливість для вас, я рекомендую вам розглянути можливість використання zsh.

Оновлення

Програма Bash 4.3 додає змінну, яка дозволяє кольору для завершення вкладки відображати різні кольори для виконуваних файлів, каталогів тощо під час заповнення вкладки:

colored-stats

Читальний рядок у майбутньому Bash 4.4 додає змінну, яка дозволяє кольору вказувати сумісну частину рядка під час завершення вкладки.

colored-completion-prefix

Значення цих змінних можна побачити за допомогою

bind -v | grep color

Щоб їх встановити, додайте рядки до ~/.inputrcфайлу, такі як:

set colored-stats on

1
@Ryan: Zsh цілком сумісний з Bash. Ви, мабуть, знайдете перемикач досить легким. Він має багато потужних функцій, яких Bash не має (або вам доведеться використовувати зовнішні утиліти для). Існує лише кілька речей, які суттєво відрізняються в основах. Прикладом може бути те, що індекси масиву є одноосновними замість нульових, але на них впливає налаштування. Я використовую zsh лише зрідка.
Призупинено до подальшого повідомлення.

1
@AstroFloyd: Від Bash Manua : "Визначення кольору взяті зі значення LS_COLORSзмінної середовища". Документація для цієї змінної знаходиться тут . Немає налаштувань для manсторінок, тому вам потрібно буде подивитися, де вам LS_COLORSвстановлено, і знайти поєднання кольорів, яке відповідає і змінити його. У моїй системі manназви сторінок не забарвлюються, коли заповнюється вкладка (і ламані символьні посилання, а червоний-сірий у lsвиході, ...
Призупинено до подальшого повідомлення.

1
... є світло-блакитними, як дійсні символьні посилання під час заповнення вкладки).
Призупинено до подальшого повідомлення.

1
@AndyCarlson: Чи bind -v | grep colorпоказує і те, set colored-completion-prefix onі set colored-stats on? Якщо так, то що станеться, коли ви наберете букву, після чого двічі натисніть вкладку? Якщо ви додали налаштування до свого, ~/.inputrcале не запустили новий термінал або не виконали re-read-init-fileнатисканням клавіші control-x control-r, налаштування не набудуть чинності.
Призупинено до подальшого повідомлення.

2
@AndyCarlson Що виводиться у запиті bash, коли ви натискаєте ctrl-x ctrl-v?
Призупинено до подальшого повідомлення.

3

Я не знаю про завершення квітів для командних опцій і аргументів , але і для імені файлу і каталогів, в відповідно до ( /unix//a/133866 ) user495470 станів, в Bash 4.3 , а потім ви можете додати set colored-stats onдо ~/.inputrcотримати кольорові завершення, коли ви робите ls <tab>.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.