Какое значение убрать фоновый блок на тексте в .dircolors

Вопрос или проблема

Я хочу удалить цвет фона текста, но не могу найти значение в .dircolors. Также мне кажется, что мои dircolors все еще связаны с /usr/bin/dircolors, несмотря на то, что я выполнил eval "$(dircolors $HOME/.dircolors)" или eval "$(dircolors ~/.dircolors)" в .zshrc

https://i.sstatic.net/jyU7OtdF.png

https://i.sstatic.net/CbS78f8r.png

https://en.wikipedia.org/wiki/ANSI_escape_code содержит большой набор цветовых кодов;
Для начала ESC+[4nm, где 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. Это позволит вам получить желаемый результат и улучшить визуальное восприятие ваших файлов в терминале.

Оцените материал
Добавить комментарий

Капча загружается...