iTerm2에서 SSH를 통해 Linux 시스템에 연결하면 색상이 달라집니다. 어떻게 정규화할 수 있나요?

iTerm2에서 SSH를 통해 Linux 시스템에 연결하면 색상이 달라집니다. 어떻게 정규화할 수 있나요?

원래 이 내용을 게시했습니다.애플 스택 교환, 그러나 솔루션은 Linux-ey일 수 있다고 생각됩니다 .bashrc.

현재 Linux 시스템에 SSH로 연결하면 lsVIM의 출력 색상과 구문 색상이 로컬 시스템과 다릅니다. 표시된 색상은 내 프로필...색상...ANSI 색상에 정의되어 있지 않으며 보기 흉한 짙은 갈색 "노란색"을 포함합니다. 색상이 항상 일관되도록 원격 세션의 텍스트를 ANSI 색상과 일치시키려면 어떻게 해야 합니까?

제가 말하는 내용의 예는 다음과 같습니다. 왼쪽은 내 로컬 컴퓨터의 VIM 세션이고 오른쪽은 SSH 세션의 VIM 세션입니다. 그 끔찍한 갈색을 주목하세요.

다음은 ls문제의 예입니다. 색상이 다릅니다.

여기에 이미지 설명을 입력하세요.

답변1

터미널 vim은 터미널에서 제공하는 색상(터미널이 256 색상 모드나 설정 가능한 색상을 제공하지 않는 한 아마도 사용자가 선택한 ANSI 색상)을 사용하지만, 사용하는 색상은 vim 색상 구성표와 배경 컨트롤을 신뢰하는지 여부에 따라 결정됩니다. 밝든 어둡든.

를 통해 배경이 밝거나 어둡게 설정되어 있는지 확인할 수 있습니다 :set background?. 일반적인 방법으로 변경할 수 있습니다(예: :set background=dark).

을 실행하여 현재 색 구성표를 확인 :colorscheme하고 를 실행하여 설정할 수 있습니다 :colorscheme «NAME». 적어도 여기에서는 vim이 탭으로 이름을 완성하여 사용 가능한 모든 이름을 볼 수 있도록 합니다.

원하는 설정을 찾으면 해당 설정을 에 추가할 수 있습니다 ~/.vimrc.

편집하다: ls색상(GNU coreutils 사용)은 환경 변수에 의해 설정됩니다 . 또는 이것이 작동하지 않는 경우를 LS_COLORS참조하세요 . Mac OS X 와 ​​GNU coreutils (Linux에서 일반적으로 사용됨)는 완전히 별개의 구현이기 때문에 다소 어려울 수 있습니다 .info dircolorsman dircolorslsls

답변2

"ls 색상이 다릅니다"라는 질문에 대한 답을 찾았습니다. ls두 컴퓨터 모두에서 음영 처리가 활성화되어 있는지 확인한 다음이 페이지LSCOLORS로컬(Mac) 변수에 인코딩된 색상을 원격(Linux) 변수에 인코딩된 색상과 동일하게 만듭니다 LS_COLORS.

lsmacOS 기본값과 일치하는 Linux 색상의 경우: .bashrcMac에 다음을 입력하세요.

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

이것을 .bashrcLinux 컴퓨터에 넣으십시오.

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"

관련 정보