web-dev-qa-db-ja.com

LinuxマシンにiTerm2からSSHで接続する場合は色が異なります。どうすればそれらを標準化できますか?

もともとは Apple stackexchange に投稿しましたが、解決策はLinux-eyである可能性があります。私に何かを追加する.bashrc

現在、LinuxマシンにSSHで接続すると、VIMのls出力の色と構文の色がローカルマシンの色と異なります。表示される色はプロファイルで定義されていません...色... ANSI色、「黄色」に醜い濃い茶色を含めます。 ANSIの色と一致するリモートセッション。

これが私が話していることの例です:左はVIM私のローカルコンピュータのセッション、右はVIM SSHセッション内のセッションです。恐ろしいことに注意してください褐色。

そして、これがls問題の例です-色が異なります。

enter image description here

3
Luke Davis

端末vimは、端末が使用できる色(おそらく、端末が256色モードまたは設定可能な色を提供している場合を除いて、選択するANSI色)を使用しますが、使用する色は、vimの配色によって制御されます。明るいまたは暗いです。

:set background?で、背景が明るいか暗いかを確認できます。通常の方法で変更できます(例::set background=dark)。

:colorschemeを実行して現在の配色を確認し、:colorscheme «NAME»を実行して設定することができます。少なくともここでは、vimは名前をタブで補完して、使用可能なすべての名前を表示します。

気に入った設定が見つかったら、それらを~/.vimrcに追加できます。

編集:ls色(GNU coreutilsを使用)はLS_COLORS環境変数によって設定されます。info dircolorsまたは(それが機能しない場合)man dircolors。これは少し難しいかもしれませんが、Mac OS X lsおよびGNU coreutils ls (通常Linuxで使用される)は、完全に別個の実装です。

6
derobert

「色が違う」という問題の答えを見つけました。両方のマシンでlsカラーリングが有効になっていることを確認し、次に このページ を使用して、ローカル(Mac)LSCOLORS変数でエンコードされた色を同じにする必要があります。リモート(Linux)でエンコードされた色LS_COLORS変数。

Linuxの場合ls coloring for macOS defaults:これを.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"
0
Luke Davis