Kolory są różne, gdy SSHing jest na maszynie Linux z iTerm2. Jak mogę je znormalizować?

4

Obecnie, kiedy jestem SSH na komputerze z Linuksem, ls kolory wyjściowe i kolorowanie składni w VIM różnią się od kolorów na moim komputerze lokalnym. Pokazane kolory są nie zdefiniowane w moim profilu ... Kolory ... ANSI Kolory i dodaj brzydki ciemnobrązowy kolor dla „żółtego”. Jak wymusić dopasowanie tekstu ze zdalnej sesji do moich kolorów ANSI, aby kolorystyka była zawsze spójna?

Oto przykład tego, o czym mówię: lewo to sesja VIM na moim lokalnym komputerze, prawda to sesja VIM w sesji SSH. Zwróć uwagę na ohydny brąz.

A oto przykład ls problem - kolory są różne.

enter image description here

Luke Davis
źródło

Odpowiedzi:

2

Odkryłem, że odpowiedź na pytanie „kolory ls są różne”. Musisz się tylko upewnić ls kolorowanie jest włączone na obu komputerach, a następnie użyj ta strona aby kolory były zakodowane w lokalnym (Mac) LSCOLORS zmienne identyczne z kolorami zakodowanymi w pilocie (Linux) LS_COLORS zmienna.

Dla Linuksa ls kolorowanie zgodne z domyślnymi ustawieniami MacOS: umieść to w swoim .bashrc na komputerze Mac:

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

I umieść to w swoim .bashrc na komputerze z Linuksem:

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"

Edytuj: Alternatywnie (to jest to, co teraz robię), możesz po prostu pobrać „coreutils” za pomocą homebrew przez brew install coreutils, a następnie miejsce alias ls=gls w Twoim .bashrc. gls jest wersją GNU. Teraz możesz kontrolować ls kolory z LS_COLORS, tak jak w Linuksie.

Ponadto, jeśli chcesz uzyskać jeszcze więcej fantazji: ponieważ teraz używasz GNU ls, możesz kontrolować kolory różnych rozszerzeń / typów plików / poziomów uprawnień, tworząc ~/.dircolors.ansi plik i działa gdircolors ~/.dircolors.ansi. To repo ma kilka szablonów dircolors, abyś mógł zacząć.

Luke Davis
źródło
1

Odpowiedziano na część VIM tego pytania tutaj .

Okazuje się, że moja sesja lokalna miała background Ustawić dark w VIM, a moja sesja zdalna miała background Ustawić light. Właśnie dodałem linię set background=dark w moim .vimrc a kolory wyglądają teraz identycznie.

Luke Davis
źródło