반응형
로드 후 평가 대 모드 후크
eval-after-load
모드 훅을 사용하는 것과 사용하는 모드의 설정에 차이가 있습니까?
define-key
주요 모드 후크 내부에서 사용되는 코드 define-key
와 eval-after-load
양식 에서 사용되는 다른 코드를 보았습니다 .
최신 정보:
더 나은 이해를 위해 다음은 조직 모드에서 eval-after-load 및 모드 후크를 사용하는 예입니다. 코드는 또는 또는 이전에 실행할 수 있습니다 .(load "org")
(require 'org)
(package-initialize)
;; The following two lines of code set some org-mode options.
;; Usually, these can be outside (eval-after-load ...) and work.
;; In cases that doesn't work, try using setq-default or set-variable
;; and putting them in (eval-after-load ...), if the
;; doc for the variables don't say what to do.
;; Or use Customize interface.
(setq org-hide-leading-stars t)
(setq org-return-follows-link t)
;; "org" because C-h f org-mode RET says that org-mode is defined in org.el
(eval-after-load "org"
'(progn
;; Establishing your own keybindings for org-mode.
;; Variable org-mode-map is available only after org.el or org.elc is loaded.
(define-key org-mode-map (kbd "<C-M-return>") 'org-insert-heading-respect-content)
(define-key org-mode-map (kbd "<M-right>") nil) ; erasing a keybinding.
(define-key org-mode-map (kbd "<M-left>") nil) ; erasing a keybinding.
(defun my-org-mode-hook ()
;; The following two lines of code is run from the mode hook.
;; These are for buffer-specific things.
;; In this setup, you want to enable flyspell-mode
;; and run org-reveal for every org buffer.
(flyspell-mode 1)
(org-reveal))
(add-hook 'org-mode-hook 'my-org-mode-hook)))
래핑 된 코드 eval-after-load
는 한 번만 실행되므로 일반적으로 기본 전역 값 및 동작 설정과 같은 일회성 설정을 수행하는 데 사용됩니다. 예를 들어 특정 모드에 대한 기본 키맵을 설정할 수 있습니다. 에서 eval-after-load
코드, "현재 버퍼"에 대한 개념이 없다.
모드 후크는 모드가 활성화 된 모든 버퍼에 대해 한 번 실행되므로 버퍼 별 구성에 사용됩니다. 따라서 모드 후크는 eval-after-load
코드 보다 나중에 실행됩니다 . 이를 통해 현재 버퍼에서 다른 모드가 활성화되었는지 여부와 같은 정보를 기반으로 작업을 수행 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/2736087/eval-after-load-vs-mode-hook
반응형
'IT Share you' 카테고리의 다른 글
환경 변수 값의 최대 크기는 얼마입니까? (0) | 2020.11.11 |
---|---|
MEF에 대해 어디서 배울 수 있습니까? (0) | 2020.11.11 |
개별 프레임을 파일에 저장하지 않고 Python에서 동영상 생성 (0) | 2020.11.11 |
Mono https 웹 요청이 "인증 또는 암호 해독에 실패했습니다."와 함께 실패 (0) | 2020.11.11 |
Git 분기 액세스를 제한하는 방법? (0) | 2020.11.11 |