Цвета отличаются при подключении SSH к машине Linux из iTerm2. Как я могу стандартизировать их?

В настоящее время, когда я подключаюсь по SSH к машине с Linux, lsцвета вывода и раскраска синтаксиса в VIM отличаются от цветов на моей локальной машине. Показанные цвета не определены в моем Profile...Colors...ANSI Colors, и включают уродливый темно-коричневый цвет для «желтого».

Как я могу заставить текст из удаленного сеанса соответствовать моим цветам ANSI, чтобы цвета всегда были согласованными?

Вот пример того, о чем я говорю: слева — сеанс VIM на моем локальном компьютере, справа — сеанс VIM в рамках сеанса SSH. Обратите внимание на отвратительный коричневый цвет.

А вот пример проблемы ls- цвета разные.

введите описание изображения здесь

Ответы (2)

Я нашел ответ на проблему «цвета ls разные». Вам просто нужно убедиться, lsчто раскрашивание включено на обоих компьютерах, а затем используйте эту страницу , чтобы сделать цвета, закодированные в локальной (Mac) LSCOLORSпеременной, идентичными цветам, закодированным в удаленной (Linux) LS_COLORSпеременной.

Для раскраски Linux ls, соответствующей настройкам по умолчанию macOS: поместите это на .bashrcсвой Mac:

alias ls="ls -G"
export LSCOLORS="exfxcxdxbxegedabagacad"

И поместите это в свою .bashrcмашину с Linux:

alias ls="ls --color=always"
export LS_COLORS="di=34:ln=35:so=32:pi=33:ex=31:bd=34;46:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43"

Изменить: в качестве альтернативы (это то, что я сейчас делаю), вы можете просто загрузить «coreutils» с помощью homebrew через brew install coreutils, а затем поместить alias ls=glsв свой файл .bashrc. glsявляется версией GNU. Теперь вы можете управлять lsцветами с помощью LS_COLORS, как в Linux.

Кроме того, если вы хотите получить еще больше фантазии: поскольку вы теперь используете GNU ls, вы можете управлять цветами различных расширений/типов/уровней разрешений файлов, создав файл ~/.dircolors.ansiи запустив gdircolors ~/.dircolors.ansi. В этом репозитории есть несколько шаблонов dircolors, которые помогут вам начать работу.

Ответ на часть VIM этого вопроса был дан здесь .

Оказывается, мой локальный сеанс был backgroundустановлен darkв VIM, а мой удаленный сеанс был backgroundустановлен в light. Я просто добавил линию set background=darkв свой .vimrc, и теперь цвета выглядят одинаково.

У меня есть set background=darkв .vimrc, но раньше colorscheme, теперь переключение порядка решило эту проблему.