한 번의 키 누름으로 정확히 무엇을 알 수있는 쉬운 방법은 없습니다.
추가 동작이 보이면 항상 공통 후크를 확인하십시오. 여기 목록을 참조하십시오 : http://www.gnu.org/software/emacs/manual/html_node/elisp/Standard-Hooks.html
대부분의 경우 중요한 것은 다음과 같습니다.
- 변경 후 기능
- 변경 전 기능
- 첫 번째 변경 후크
- 사후 명령 후크
- 사전 명령 후크
- 포스트-자체 삽입 후크
이러한 후크를 검사하고 포함 된 기능을 조사하여 동작을 수정하는 후크를 확인해야합니다.
이러한 후크의 기능이 관찰 된 동작을 완전히 설명하지 않은 경우의 설명서에 나와있는 조언에 대한 기능을 확인하십시오 describe-function
.
편집 : 나는 기능 하나 하나를 통해가는 것보다 후크 더 도움이되는 몇 가지 기능을 설명 작성한 https://gist.github.com/jordonbiondo/bad03e44bb053db0f1eb를
사용할 수있는 describe-hook
다른 기능을 설명처럼이 정의. 다음은 출력 샘플입니다.
요점이 사라지는 경우를 대비하여 모든 코드가 있습니다.
(defun guess-all-hooks ()
"Return a list of all variables that are probably hook lists."
(let ((syms '()))
(mapatoms
(lambda (sym)
(if (ignore-errors (symbol-value sym))
(let ((name (symbol-name sym)))
(when (string-match "-\\(hook[s]?\\|functions\\)$" name)
(push sym syms))))))
syms))
(defun face-it (str face)
"Apply FACE to STR and return."
(propertize str 'face face))
(defun describe-hook (hook)
"Display documentation about a hook variable and the
functions it contains."
(interactive
(list (completing-read
"Hook: " (mapcar (lambda (x) (cons x nil)) (guess-all-hooks)))))
(let* ((sym (intern hook))
(sym-doc (documentation-property sym 'variable-documentation))
(hook-docs (mapcar
(lambda (func)
(cons func (ignore-errors (documentation func))))
(symbol-value sym))))
(switch-to-buffer
(with-current-buffer (get-buffer-create "*describe-hook*")
(let ((inhibit-read-only t))
(delete-region (point-min) (point-max))
(insert (face-it "Hook: " 'font-lock-constant-face) "\n\n")
(insert (face-it (concat "`" hook "'") 'font-lock-variable-name-face))
(replace-string "\n" "\n\t" nil
(point)
(save-excursion
(insert "\n" sym-doc "\n\n")
(1- (point))))
(goto-char (point-max))
(insert (face-it "Hook Functions: " 'font-lock-constant-face) "\n\n")
(dolist (hd hook-docs)
(insert (face-it (concat "`" (symbol-name (car hd)) "'")
'font-lock-function-name-face)
": \n\t")
(replace-string "\n" "\n\t" nil
(point)
(save-excursion
(insert (or (cdr hd) "No Documentation") "\n\n")
(1- (point))))
(goto-char (point-max))))
(help-mode)
(help-make-xrefs)
(read-only-mode t)
(setq truncate-lines nil)
(current-buffer)))))
electric-pair-mode
일부 주요 모드에서만 활성화 되었을 수 있습니까? 당신은 여전히 보는가self-insert-command
을 위해"
당신이 할 때C-h k
동안electric-pair-mode
활성화?