Вопрос или проблема
Я хочу удалить цвет фона текста, но не могу найти значение в .dircolors. Также мне кажется, что мои dircolors все еще связаны с /usr/bin/dircolors
, несмотря на то, что я выполнил eval "$(dircolors $HOME/.dircolors)"
или eval "$(dircolors ~/.dircolors)"
в .zshrc
https://en.wikipedia.org/wiki/ANSI_escape_code содержит большой набор цветовых кодов;
Для начала ESC
+[4
nm
, где n может быть любым от 0
до 9
, влияет на цвет фона.
Так что это может быть один из них, или значение по умолчанию:
$ dircolors --bourne-shell | tr ':' '\n' | grep -E '4[0-9]{1}'
pi=40;33
bd=40;33;01
cd=40;33;01
or=40;31;01
su=37;41
sg=30;43
tw=30;42
ow=34;42
st=37;44
Это, возможно, даст некоторые подсказки, в цвете:
$ dircolors --print-ls-colors
Ответ или решение
Чтобы удалить цвет фона для текста в файле .dircolors
и понять, почему ваши настройки все еще связаны с /usr/bin/dircolors
, рассмотрим несколько ключевых аспектов.
1. Понимание структуры файла .dircolors
Файл .dircolors
используется для управления цветами, которые отображаются в командной строке для различных типов файлов. Каждый тип файла может иметь определенные цветовые коды, включая код цвета фона. Эти коды основаны на ANSI-кодах и могут быть настроены в LS_COLORS
.
Пример строки из .dircolors
:
dir 01;34
Здесь 01
– это стиль (жирный), а 34
– это цвет текста (голубой). Если в настройках присутствует код, начинающийся с 4
, это указывает на наличие фона, например:
pi=40;33
где 40
— это код фона (черный), а 33
— код текста (желтый). Для удаления цвета фона необходимо использовать только цвет текста, например, изменить 40;33
на 33
.
2. Изменение фона на прозрачный
Чтобы убрать фон, вам необходимо удалить коды, начинающиеся с 4
, из ваших объявлений переменных в .dircolors
. Например, замены могут выглядеть так:
# Изменение из
pi=40;33
# В
pi=33
3. Обновление конфигурации вашей оболочки
После изменения файла .dircolors
убедитесь, что вы загружаете ваши изменения. Команды:
eval "$(dircolors $HOME/.dircolors)"
или
eval "$(dircolors ~/.dircolors)"
должны быть добавлены в ваш файл конфигурации оболочки, например, .zshrc
. После внесения изменений в конфигурацию не забудьте перезапустить оболочку или выполнить source ~/.zshrc
для применения изменений.
4. Проверьте текущие настройки
Если ваши изменения не применяются, возможно, существует ошибка в понимании, откуда берутся ваши текущие настройки цветов. Чтобы проверить текущую настройку цветов, выполните команду:
dircolors --print-ls-colors
Это выведет текущие настройки LS_COLORS
, которые могут помочь вам понять, какие настройки применяются и откуда.
5. Устранение возможных конфликтов
Если при выполнении описанных шагов вы по-прежнему наблюдаете цвет фона, возможно, файл .dircolors
игнорируется, и используется системная конфигурация по умолчанию. Убедитесь, что вышеперечисленные команды действительно выполняются и не перезаписываются другими настройками.
Заключение
Удаление цвета фона в .dircolors
– это вопрос корректной настройки переменных. Проанализируйте свои настройки, измените их в соответствии с приведенными выше рекомендациями и позаботьтесь о корректной загрузке вашего .dircolors
. Это позволит вам получить желаемый результат и улучшить визуальное восприятие ваших файлов в терминале.