Темно-синий цвет в выводе vim или ls в linux


58

У меня есть проблема с темно-синим цветом в vimили lsвыходе. Поскольку я использую черный цвет фона, слова, окрашенные в темно-синий цвет, почти полностью невидимы. Как я могу решить эту проблему?



1
Другая вещь, которую вы можете сделать, это изменить сами цвета. Ни один из цветов (даже темные) не должен быть нечитаемым на черном фоне. Если бы вы могли указать, какой терминал вы используете, дополнительная информация может быть предоставлена, если связанный вопрос уже не поможет с этим.
Random832

Это похоже на проблему с некоторыми дисплеями или выходами видеокарты. Этот синий цвет по умолчанию (который, по-видимому, более или менее одинаков в консоли linux и в некоторых эмуляторах терминала) читается на некоторых дисплеях и не читается на других.
njsg

Ответы:


55

Вы можете изменить цветовую тему vim с помощью backgroundопции. использование

set background=dark

в вашем текущем сеансе или установите его как постоянный в вашем vimrc.

Выход lsнастроен с /etc/DIR_COLORS. Смотрите man-страницу для получения дополнительной информации. Настройки могут быть перезаписаны с помощью файла ~/.dir_colors(в Ubuntu: ~/.dircolors- см. Запись в ~/.bashrc) в вашем домашнем каталоге.

Запись как

 DIR 01;36 

создаст более читаемый фон с голубым.


Для новичков Баша: после создания файла (например, ~/.dircolors) , как указано здесь, вы просто должны source ~/.bashrcувидеть его работу. Спасибо за этот ответ!
Маркус

26

Вместо того, чтобы настраивать приложения, чтобы избежать синего на черном, я рекомендую настроить свой терминал, чтобы сделать синий более заметным. Большинство эмуляторов терминала имеют настройки для этого. В xterm есть ресурс X:

XTerm.VT100.color4: CornflowerBlue

В других эмуляторах терминала посмотрите в файле конфигурации или диалоге настройки цвета или темы.

Существует общая последовательность управления для установки оттенка, связанного с номером цвета из приложения: OSC 4 ; c ; spec BELгде OSCесть ESC ], cномер specцвета и спецификация цвета, например #RGB.

printf %b '\e]4;4;#6495ed\a'  # set the blue shade to CornflowerBlue

Изменение приложением действует только до следующего сброса терминала. Если вы используете этот метод (рекомендуется только в том случае, если в вашем терминале отсутствует механизм настройки), чтобы сделать изменение эффективно постоянным, добавьте escape-последовательность конфигурации цвета в строку сброса вашего терминала (termcap: r1string; terminfo: rs1string).

Смотрите также Переопределение оттенка цвета отображается , я могу установить терминальные цвета моей локальной машины, чтобы использовать те машины I SSH в? ,


Сначала это звучало как неудачное предложение, но, учитывая, что я не могу прочитать половину темных цветов, и ни одна из моих программ не использует сплошные фоновые цвета, где темный может быть разумным, это действительно имеет большой смысл!
М Конрад

Solarized ( ethanschoonover.com/solarized ) имеет приятные цветовые схемы для различных эмуляторов терминала и других программ.
Дэвид

10

Более быстрый способ установить lsцвет каталога для вашей терминальной сессии:

1. Откройте свой терминал и выполните команду dircolors:

machines@box790 ~ $ dircolors
LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS
machines@box790 ~ $ 

Он попугайует вас, чтобы вы установили цвета для ls. «Ди» означает каталог. 34 плохой темно-синий. 36 - это голубой. Итак, давайте вставим его и изменим в терминал.

2. Скопируйте все это в терминал, сделав одно изменение

Вы изменить , di=01;34чтобы , di=01;36как это:

machines@box790 ~ $ LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';

machines@box790 ~ $ export LS_COLORS

3. Это сразу устанавливает цвета каталога на голубой

do an 'ls' and see that directories are indeed cyan.

4. Сделайте вышеуказанный шаг постоянным

Сделайте его постоянным, поместив приведенные выше команды внизу вашего ~ / .bashrc следующим образом:

LS_COLORS='rs=0:di=01;36:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:';
export LS_COLORS

Если вы поместите это в ~ / .bashrc и (перезапустите терминал или source ~/.bashrc), цвета все равно должны быть правильными.


2
Цветовая схема для dircolors может быть сохранена в удобочитаемом файле и применена из bashrc с помощью eval " dircolors -b ~/.dir_colors". Смотрите здесь примеры цветов.
Алексей

теперь моя символическая ссылка того же цвета, что и dir
ealeon

@ealeon Ах, похоже, что каталоги diи символические ссылки lnимеют тот же цвет, что и 01;36. Не стесняйтесь переключать эти цвета, если это особое различие важно для вас. Эта цветовая схема является стандартной по умолчанию, которую я нашел.
Эрик Лещинский

8

Если вы сообщите vim, что используете черный фон (или темную тему), он осветлит все цвета, чтобы они были читабельными:

:set bg=dark

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.