emacs: 다른 테마를 로드할 때 배경색이 변경되지 않습니다.

emacs: 다른 테마를 로드할 때 배경색이 변경되지 않습니다.

저는 GUI Emacs를 사용하고 있습니다. 어떤 사용자 정의 테마를 로드하더라도 배경색은 동일하게 유지됩니다. 이것은 아마도 중요하지 않을 것입니다. 그러나 다른 테마를 로드할 때 항상 다음과 같은 메시지가 나타납니다.

message [sml] sml/theme set to automatic

미니 버퍼에서. 아마도 관련된 생략은 다음과 같습니다:

(require 'powerline)
     .
     .
     .
(setq sml/theme 'powerline)
(sml/setup)

저는 Solarized-light의 약간 수정된 버전을 테마로 사용하고 있습니다. 내 .emacs파일에는 다음이 있습니다.

(load-theme 'my-solarized-light 1)
;; (set-background-color "#fffff0")   ;; not necessary because theme was customized

solarized-light와 사이의 유일한 차이점 my-solarized-light은 배경색을 #FDF6E3 대신 #FFFFF0으로 설정했다는 것입니다. 한 가지 문제는 내가 어떻게 했는지 기억이 나지 않는다는 것입니다.

내 파일 상단 근처 의 에 다음 .emacscustom-set-variables있습니다.

'(custom-enabled-themes (quote (my-solarized-light)))

"테마 로드"가 다시 제대로 작동하도록 하려면 어떻게 해야 합니까?

답변1

나는 같은 문제를 가지고있다.

내 .spacemacs 파일에 describe-face값이 설정되는 일부 글꼴 설정을 수정했습니다.custom-set-faces

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(org-table ((t (:background "black" :foreground "#586e75" :weight bold)))))

이것은 모든 테마에 배경색을 적용하는 것 같습니다. 이 사용자 정의를 제거하고 spacemacs를 다시 시작하면 문제가 해결되었습니다.

답변2

활성화하고 사용한 경우세션 저장, 파일의 복사본 .emacs.d/.emacs.desktop도 거기에 보관되어 있는 것 같습니다. background-color그것을 제거하는 것이 나에게는 해결책이었습니다.

참고: emacs 세션에서 .emacs.desktop활성화된 동안 emacs 내에서 파일을 수정하면 emacs가 외부에서 수정되었기 때문에 (desktop-save-mode 1)emacs를 종료할 때 업데이트할 것인지 묻는 메시지가 나타납니다 . .emacs.desktop이번에는 "아니오"라고 말하고 싶습니다. emacs가 자체 메모리 내 복사본으로 업데이트하고 background-color변수를 삭제하려는 항목으로 설정할 수도 있기 때문입니다.

(처음 올리는 글이니 양해 부탁드립니다 :))

답변3

Mac OS에서 emacs 27을 사용하여 동일한 문제가 발생했습니다. 여기의 또 다른 대답처럼 나는 M-x customize-face default("기본 얼굴 설정" 때문에)아직어떤 이유로든 이 버전에서는 작동하지 않습니다) 실제로 배경과 전경을 설정합니다. 옆에 있는 확인란을 선택 취소했는데 테마가 다시 제대로 작동하기 시작했습니다.

관련 정보