キーを1回押すだけで何ができるかを正確に知る簡単な方法はありません。
追加の動作が見られる場合は、常に共通のフックを確認してください。こちらのリストをご覧ください:http : //www.gnu.org/software/emacs/manual/html_node/elisp/Standard-Hooks.html
ほとんどの場合、重要なものは次のとおりです。
- 変更後の機能
- 変更前の機能
- 最初の変更フック
- ポストコマンドフック
- プリコマンドフック
- 自己挿入フック後
これらのフックを調べ、含まれている関数を調べて、どのフックが動作を変更しているかを確認する必要があります。
これらのフックの関数が、観察された動作を完全に説明していない場合は、のドキュメントに表示されるアドバイスの関数を確認してくださいdescribe-function
。
編集:私はより良い機能を1つずつを行くよりもフックを記述するのに役立ついくつかの機能を書いている: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
アクティブになっていますか?