>

emacs lisp를 처음 사용하고 아래와 같이 키워드 값을 평가 된 표현식으로 설정하려고합니다.

(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.
 '(default ((t (:height (+ 70 70)))))
)

초기 높이는 정적 값 140 입니다.  잘 작동합니다. 그러나 표현식으로 변경하면 msg로 실패했습니다 :

error: Default face height not absolute and positive, +, 70, 70

이것을 시도하는 이유는 같은 .emacs 를 공유하고 있기 때문입니다.  화면 크기가 다른 여러 컴퓨터의 파일. 그래서 궁극적 인 목표는 화면 크기를 기준으로 글꼴 크기를 계산하는 것입니다.

키워드 값을 표현식으로 설정하는 올바른 방법은 무엇입니까?


  • 답변 # 1

    법률 학자의 말대로 할 수 있습니다. 그것은 합리적입니다. 사용자 정의 외부에서이 작업을 수행하려면 다음을 수행하십시오.

    (set-face-attribute 'default nil :height (+ 70 70))
    
    

    표현식이 처음부터 인용되지 않기 때문에 준 따옴표가 필요하지 않습니다.

  • 답변 # 2

    유사한 설정이 있으며 모니터를 지속적으로 연결 및 분리하고 Mac Retina 디스플레이를 사용합니다.

    default-text-scale 를 찾았습니다  잘 작동합니다. 설정에서 use-package 를 사용하는 경우  여기 내가 구성한 것입니다.

    (use-package default-text-scale
        :ensure t
        :config
        (setq default-text-scale-amount 8)
        :bind
        ;; Plus makes it better
        ("M-+" . default-text-scale-increase)
        ;; Underscore makes it smaller (- is already bound)
        ("M-_" . default-text-scale-decrease))
    
    

    특정 문제를 해결하지는 않지만 글꼴 크기를 조정하여 모든 창에서 작동합니다. 제시해야 할 경우 편리합니다.

  • 답변 # 3

    수행하려는 작업을 수행 할 수 있지만 quote 의 평가로부터 보호되는 코드가 아니라 평가 된 코드를 사용하십시오. . 예를 들어backquote표현식을 사용하십시오. 따옴표를 큰 따옴표로 변경하고 평가하려는 섹스 프 앞에 쉼표를 넣으십시오.

    (custom-set-faces
     `(default ((t (:height ,(+ 70 70))))))
    
    

    이것과 같습니다 :

    (custom-set-faces
     (list 'default (list (list t (list :height (+ 70 70))))))
    
    

  • 이전 oracle - 중개 테이블을 피하는 가장 좋은 방법은 무엇입니까?
  • 다음 python - 목록에있는 경우 다른 열의 값을 기준으로 열을 선택하십시오