이맥스는 항상 시작할 때 색상 테마를 신뢰하도록 요청


10

선택한 색상 테마를 신뢰할지 여부를 묻는 메시지가 항상 표시됩니다. 나는 항상 응답 y하고 y나의 선택을 믿고 기억합니다. 색상 테마를 수동으로로드하고 있습니다.

(load-theme 'my-favourite-theme)

쉬운 테마를 색상 테마 로딩 아래에 배치하기 때문이라고 생각합니다. 그것을 고칠 수있는 방법입니까? 아니면 색상 테마 로딩을 쉬운 사용자 정의에 위임해야합니까?


2
load-theme선택적 인수가 있습니다 : (load-theme THEME &optional NO-CONFIRM NO-ENABLE)- 당신의 init 파일에 직접 사용하는 경우는 nil이 아닌 NO-CONFIRM 인수를 호출해야합니다. . . 즉, 다음을 사용하십시오. (load-theme 'my-favourite-theme t)
lawlist

1
그래서 나는이 필요 (load-theme 'name t nil)하거나 (load-theme 'name t)?
Geradlus_RU

2
하는 선택적 인수 nil필요는 후속 선택적 인수가 아닌 경우에만 포함되어야합니다 nil. 당신이 될 수있는 최초의 선택적 인수하려는 경우 예를 들어, nil수 두 번째 선택적 인수를 t한 후 nil첫 번째 인수에 필요한 것입니다. 두 번째 선택적 인수는 nil생략하거나 포함 할 수 있으므로 차이가 없습니다. 때로는 nil선택적이 아닌 nil인수가 없는 경우 선택적 인수에 사용 하기 때문에 특정 기능 (예 : 시각적 알림)에 대해 몇 가지 선택적 인수가 가능한지 알 수 있습니다.
법률 목록

@lawlist가 제안하는 것은 해결책이 아니라 해결 방법입니다. 다른 문제를 일으킬 수 있으므로이 문제가 발생하는 이유를 파악하는 것이 좋습니다. 사실, 나는이 문제를 많이 보았으므로 그 이유를 알고 싶습니다.
Malabarba

@Geradlus_RU NO-CONFIRM 인수를으로 지정하지 않으면 temacs는 테마 패키지가 업데이트 된 후 (.el 체크섬 변경으로 인해) 매번 해당 질문을 다시 묻습니다. 그 경우입니까? emacs를 시작할 때마다 (.mes .el이 업데이트되지 않은 경우에도) 해당 프롬프트가 계속 표시되면 테마 체크섬이 emacs에 의해 저장되고 시작 중에 emacs에 의해 읽혀 지는지 확인하십시오. 가능한 시나리오 중 하나는 custom.el을 별도의 파일로 저장했지만 (emacs는 안전한 테마를 기억하고 있음) 해당 파일을 init에로드하지 않는 것입니다.
Kaushal Modi

답변:


10

귀하의 init.el파일은 아마 이런 조각을 포함 :

(custom-set-variables
 ;; custom-set-variables 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.
 ...)

다른 많은 것들 중에서,이 스 니펫은 custom-safe-themes변수 를 저장하고 복원하는 역할을 합니다. 따라서 이것이 init 파일의 끝에있는 경우 (보통의 경우와 같이) 아마도 (load-theme ...)그 위에 줄을 추가했을 것입니다 . 이는 Emacs가 시작하는 동안 안전한 테마를 알 수없는 이유를 설명합니다.

해당 스 니펫을 init 파일의 맨 위로 옮기면 문제가 해결됩니다.


4

나는 moe-them 을 사용하고 있으며

(require 'moe-theme)
(moe-dark)

오류 / 경고 / 프롬프트없이 테마 로드 하지만 M-x load-themeEmacs 내부에서 "테마를 안전하게 처리하십시오"와 같은 프롬프트가 표시되고 이에 대한 해결책을 찾았습니다.

(setq custom-safe-themes t)

이것이 귀하의 문제를 해결할지 모르겠지만 시도해 볼 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.