Играем с цветами вывода ls
Вы работаете в консоли или терминале с тёмным фоном? Вы используете ls –color=auto
? Как вам цвет для директорий, нравится?
На мой взгляд, тёмно-синий шрифт на чёрном фоне — это просто убийство глаз, поэтому я поставил себе за цель поменять цвет на какой-то более читабельный и удобный.
За цвета для ls
«отвечает» утилита dircolors
. При запуске она выдаёт команды, которые нужно передать шеллу для настройки цветов. Обычно в конфигах шеллов есть отдельные строки, которые запускают dircolors
и создают алиас для ls
вида ls=‘ls –color=auto’
. В стандартном конфиге для bash в Debian Lenny эти строки выглядят так:
if [ "$TERM" != "dumb" ]; then
eval "`dircolors -b`"
alias ls='ls -l -F --color=auto'
fi
Для zsh, который я сейчас использую, необходимые строки надо добавить самостоятельно:
eval `dircolors`
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
Отлично. Уже ясно, откуда берутся настройки цветов — осталось только научиться их менять. Для этого читаем ман…
…Читаем ман и узнаём, что dircolors
’у можно передать файл, из которого будут прочитаны настройки. Для создания файла выполняем простую инструкцию:
dircolors -p >~/.dir_colors
В результате получаем в домашнем каталоге дотфайл, который осталось лишь поправить.
Пожалуй, стоит начать с чтения комментариев. Из них мы узнаём, что вид вывода задаётся перечислением атрибутов через точку с запятой. Доступны следующие атрибуты:Атрибуты | |
00 | ничего |
01 | полужирный |
04 | подчёркивание |
05 | мигание |
07 | реверс |
08 | скрытие |
Цвета текста | |
30 | чёрный |
31 | красный |
32 | зелёный |
33 | жёлтый |
34 | синий |
35 | розовый |
36 | циан |
37 | белый |
Цвета фона | |
40 | чёрный |
41 | красный |
42 | зелёный |
43 | жёлтый |
44 | синий |
45 | розовый |
46 | циан |
47 | белый |
За цвет директории отвечает параметр DIR. У меня он выглядел так:
DIR 01;34 #directory
Я заменил это на следующее:
DIR 01;30;47 # directory
, то есть чёрный шрифт на белом фоне. Выглядит немного неуклюже и необычно, но это оттого, что я ни разу не дизайнер :) Найдёте приятную комбинацию — обязательно напишите комментарий или e-mail!
Осталась самая малость — научить шелл применять сделанные нами настройки. Это просто — в уже приводившихся участках конфигов dircolors
должен быть заменён на dircolors ~/.dir_colors
. Настройки будут применены после сохранения конфига и перезагрузки шелла :)
Have fun!
Comments (migrated from Blogger)
On 2009-05-10T18:34:00.000+03:00, Programmaster wrote:
Привет!
по какой-то причине не знал о ней до прочтения этой заметки
Я же по какой-то причине не знал о возможности поправить это через ~/.Xresources :)
В принципе, твоё решение более гибкое, т.к. позволяет задать произвольный цвет в RRGGBB. С другой стороны, ~/.Xresources играет роль только в иксах — в tty он уже побоку. Я, вобщем-то, не так уж часто бываю в tty, но всё же случается — иногда комп включается только для того, чтобы залить на флешку какой-то файлик.
В общем, спасибо за информацию! :)On 2009-07-10T10:32:28.848+03:00, razum2um wrote:
тёмно-синий шрифт на чёрном фоне
Это да, страшно, наверное.
Но не вижу ничего плохого в синем полужирном на сером фоне (aka "Темная пастель" в kde)
On 2009-07-10T12:03:10.457+03:00, Programmaster wrote:
razum2um пишет…
> тёмно-синий шрифт на чёрном фоне
Это да, страшно, наверное.
Сначала ничего, а вот к вечеру, когда глаза устанут, становится очень неприятно…
Дело в том, что от KDE я отошёл уже достаточно давно, в качестве терминала юзаю urxvt — там никаких цветовых схем нет, просто окошко с шеллом, поэтому проблему пришлось решать именно со стороны шелла. Хотя вариант, предложенный Максимом Ивановым (первый комментарий), тоже имеет право на жизнь — может быть, даже большее, чем мой.
On 2010-05-18T00:26:21.377+03:00, sessile polyp wrote:
Добрый день. замечательная статья, спасибо огромное:-)… Интересный сайт хорошо описали
On 2010-05-18T02:33:03.582+03:00, Minoru wrote:
Спасибо ☺ Заходите ещё! ;)
On 2012-05-13T19:28:32.167+03:00, Анонимный wrote:
Огромное спасибо, человек! Умаялся, настраивая цвета для urxvt-терминала. Ставлю, тестирую на ls и нулевой эффект.
Добавлю-ка я блог в букмарки. :)
~Zyamilon
On 2012-05-13T19:56:01.313+03:00, Minoru wrote:
Всегда пожалуйста ;) Обрати внимание, что я переехал на сторонний хостинг (UPD: т.е. сюда, на blog.debiania.in.ua), так что в букмарки следует добавлять уже новый блог. Хотя в старом тоже есть что почитать, да.
Your thoughts are welcome by email
(here’s why my blog doesn’t have a comments form)
On 2009-05-10T17:36:00.000+03:00, Maxim G. Ivanov wrote:
Познавательно, но когда передо мной возникла такая же проблема, я её решил без использования этой утилиты (по какой-то причине не знал о ней до прочтения этой заметки). Я правил настройки терминала в ~/.Xresources (естественно для тех, которые ими управляются, например, xterm, rxvt-unicode).
Цвета директорий определяются переменной color12. Так, у меня записано для rxvt-unicode в ~/.Xresources следующее:
цвет явно помягче дефолтного, что и требовалось.