emacs에서 현재 색상 테마를 찾는 방법


24

emacs가 실행되는 동안 현재 사용중인 색상 테마를 어떻게 알 수 있습니까?

답변:


19

현재 테마의 개념은 없으며 실제로 여러 개의 테마를 순차적으로 적용하여 활성면 세트를 추가로 정의 할 수 있습니다. 테마 지원이 최신 Emacs 버전에 추가되었으며 (참조 M-x customize-theme) "한 번에 여러 테마를 선택하십시오"옵션이 있습니다.

간단히 말해서, 테마를 활성화하면 해당 테마로 전환되지 않고 테마에 지정된 변경 사항이 해당 얼굴 및 변수에 적용됩니다.

명명 된 테마에 명시 적으로 배치되지 않은 모든 사용자 정의는 실제로 숨겨진 사용자 테마에 배치되므로 항상 하나 이상의 활성 테마가 있습니다. 현재 활성화 된 다른 테마가 변수에 나열됩니다 custom-enabled-themes.


4

내가 적용한 테마를 얻기 위해 컬러 테마 인쇄를 사용하는 예를 공유하십시오.

'Mx color-theme-print'를 통해 색상 테마 정보에 대한 출력을 얻은 다음 다른 색상 테마에 고유 한 전형적인 값을 찾고, 이맥에 대해 값이 537182 인 'background-color'를 선택합니다.

색상 테마 라이브러리 'color-theme-library.el'을 열고 키워드가 '537182'인 파일을 검색하면 테마 이름이 표시됩니다.

간단한 방법은 아니지만 실제로 작동하지만 도움이 되길 바랍니다.


3

M-x color-theme-print어떤 글꼴이 적용되는지 정확하게 알려주는 데 유용합니다. 어떤 명명 된 색상 테마가 적용되었는지는 알려주지 않지만 init 파일에서 해결할 수 있어야합니다. 그렇지 않은 경우 자체 색상 테마를 적용하는 모드를 사용해야한다고 가정합니다 ( Proof General 이이 작업을 수행하고 가장 자극적이라는 것을 알고 있습니다 ).


1
분명히 이것은 (require 'color-theme)먼저 필요합니다
Rolazaro Azeveires

1

sanityinc의 응답에 추가하려면 직접 설정하거나 init.el (dotemacs) 파일에 있습니다.

당신이 두 가지를 시도하고 바로 잊었 기 때문에 당신이 묻는 것 같아요? 메시지 버퍼를 확인하여 마지막으로 적용된 것을 볼 수 있는지 궁금합니다 .

@sanityinc도 설명 주셔서 감사합니다. 점점 더 많은 테마를 추가하기 시작했을 때 미니 버퍼와 같은 일부 영역은 변경되지 않거나 마지막 테마의 값으로 설정됩니다. 이제 나는 이유를 안다.


이전 color-theme패키지에는이라는 var가 color-theme-is-cumulative있는데 nil테마를 서로 방해하지 않도록 설정할 수 있습니다 . 그것은 좋은 생각처럼 들리지만 결과는 일반적으로 전혀 예상치 못한 것입니다. 테마는 일반적으로 내장 얼굴에 대해 가정하기 때문에 부분적으로 생각합니다.

그래, 나는 그 가정을 알아 차렸을 때, 내가 하나를 만들었을 때 ... 나는 '인기있는'것에서 복사 할 것이지만 다음 사람이 한 장소의 절반을 가지고있을 것입니다 ... 등. 방금 '원하던'변수를 변경했으며, 수백 가지가 바뀌 었으므로 왜 귀찮게합니까? 관련 메모에서 초콜릿 비 테마를 사용하고 지금 좋아합니다. 몇 달 동안 내 24.x 빌드에있었습니다.

1
"color-theme-select"명령을 사용하여 몇 가지 색상 테마를 시도했지만 색상 테마를 좋아했지만 그때까지 색상 테마 선택 버퍼를 닫았으며 선택한 것을 잊어 버렸습니다. 일부 변수는 현재 적용되는 색상 테마를 저장합니다. 그것에 대해 아무 기록이 메시지는 버퍼없는

아마도 M-x describe-face RET default RET(또는 기본이 아닌 다른 얼굴) 시도한 다음 M-x rgrep동일한 색상 이름 / 16 진수 값을 포함하는 색상 테마 .el 파일을 찾는 데 사용할 수 있습니다.

메시지 버퍼 를 살펴 보는 해결책이 도움이되지 않습니다. M-x load-theme <colortheme>메시지 버퍼에 아무것도 인쇄하지 않습니다.
Christian Herenz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.