Die Farben unterscheiden sich, wenn SSH von iTerm2 auf einen Linux-Computer ausgeführt wird. Wie kann ich sie standardisieren?

Wenn ich derzeit SSH auf einem Linux-Computer verwende, lsunterscheiden sich die Ausgabefarben und die Syntaxfärbung in VIM von den Farben auf meinem lokalen Computer. Die gezeigten Farben sind in meinem nicht definiert Profile...Colors...ANSI Colorsund enthalten eine hässliche dunkelbraune Farbe für „Gelb“.

Wie kann ich den Text aus einer Remotesitzung erzwingen, damit er mit meinen ANSI-Farben übereinstimmt, sodass die Farbgebung immer konsistent ist?

Hier ist ein Beispiel dafür, wovon ich spreche: Links ist eine VIM-Sitzung auf meinem lokalen Computer, rechts eine VIM-Sitzung innerhalb einer SSH-Sitzung. Beachten Sie das scheußliche Braun.

Und hier ist ein Beispiel für das lsProblem – die Farben sind unterschiedlich.

Geben Sie hier die Bildbeschreibung ein

Antworten (2)

Ich habe die Antwort auf das Problem "LS-Farben sind unterschiedlich" gefunden. Sie müssen nur sicherstellen, dass lsdie Farbgebung auf beiden Computern aktiviert ist, und dann diese Seite verwenden , um die in der lokalen (Mac) LSCOLORSVariablen codierten Farben mit den in der Remote- LS_COLORSVariable (Linux) codierten Farben identisch zu machen.

Für eine Linux- lsFarbgebung, die den macOS-Standardeinstellungen entspricht: Fügen Sie dies auf .bashrcIhrem Mac ein:

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

Und geben Sie dies .bashrcauf dem Linux-Computer ein:

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"

Bearbeiten: Alternativ (das mache ich jetzt) ​​können Sie einfach "coreutils" mit Homebrew über herunterladen brew install coreutilsund dann alias ls=glsin Ihrer .bashrc. glsist die GNU-Version. Jetzt können Sie lsFarben mit steuern LS_COLORS, genau wie unter Linux.

Und falls Sie noch ausgefallener werden möchten: Da Sie jetzt GNU verwenden ls, können Sie die Farben verschiedener Dateierweiterungen/-typen/Berechtigungsstufen steuern, indem Sie eine ~/.dircolors.ansiDatei erstellen und ausführen gdircolors ~/.dircolors.ansi. Dieses Repo enthält einige dircolors-Vorlagen, um Ihnen den Einstieg zu erleichtern.

Der VIM-Teil dieser Frage wurde hier beantwortet .

Es stellte sich heraus, dass meine lokale Sitzung in VIM backgroundauf darkund meine Remote-Sitzung backgroundauf light. Ich habe gerade die Linie set background=darkin meinem hinzugefügt .vimrcund die Farben sehen jetzt identisch aus.

Ich habe set background=darkin .vimrc, aber vorher colorschemehat das Wechseln der Reihenfolge dieses Problem behoben.