$ TERM 환경 변수에 따른 emacs 색상 사용하여 emacs를 만들 수 있는지 알고

gnu 화면 또는 tmux 세션에서 실행할 때 when과 동일한 색상을 사용하여 emacs를 만들 수 있는지 알고 싶습니다 TERM=xterm. GNU 화면 또는 tmux 세션에서 TERM=screenemacs는 when 과 다른 색상 세트를 사용합니다 TERM=xterm.

예를 들어이면 TERM=xterm-256color전경색 font-lock-comment-face은 ‘Firebrick’입니다. 그러나이면 TERM=screen-256color‘chocolate1’로 설정됩니다.

tmux가 제대로 작동하려면 TERM 변수 를 screen 또는 일부 파생물로 설정 해야 하므로 TERM을 재설정하는 옵션이 아닙니다.



답변

의 정의는font-lock-comment-face 컬러 지원을 다양한 사례에 대한 많은 변종이 포함되어 있습니다.

  • chocolate1가 적어도 88 개 색상을 사용할 수 있으며 “배경” “어두운”인 경우 변형이 사용됩니다.
  • Firebrick가 적어도 88 개 색상을 사용할 수 있으며 “배경” “빛”인 경우 변형이 사용됩니다.

차이는 시작 TERM 값에 특별한 의미를 부여하는 코드로 인해 발생 xterm, rxvt, dtterm,과 eterm: 그것은 “빛”배경이 그들을 생각한다.

당신은 사용자 정의 할 수 있어야한다 frame-background-mode*를 그에게 light항상에 값 “빛”색이 변형 사용합니다.

Emacs가 자신 만의 고유 term/screen.el한 기능을 갖추지 못한 경우 적절한 색상 조정 호출을 수행 할 수 있도록 직접 조정해야합니다. 당신의 하나를 사용할 수 이맥스 트렁크 , 또는 나는이 요지 포함 .emacs.d/lisp/term/screen.el(일부 여분의 비트에 의해 제공되는 수정 + 화살표 / 홈 / 엔드 시퀀스 인식 TMUXxterm-keys옵션을)하고, .emacs필요한 변경이 자동으로 부하를 수 있도록 .

물론 TERM 값을 직접 확인 screen하고 xterm비슷한 값 과 다른 값을 수행하는 다른 코드 비트가 여전히있을 수 있습니다 .

* Mx 사용자 정의 변수 프레임 배경 모드


답변