답변:
Emacs에 텍스트가 표시 될 수있는 4 개의 영역이 있습니다. 각 영역을 검사하기 위해 수행 할 수있는 작업은 다음과 같습니다.
mode-line-format
.header-line-format
.(buffer-string)
.M-: (buffer-string)
의 내용을 설명 할 수 있습니다. (setq enable-recursive-minibuffers to t)
먼저 해야 할 수도 있습니다 .이 방법을 사용하면 해당 지역의 전체 내용을 볼 수 있으므로 원하는 얼굴을 실제로 찾으려면 약간의 독서가 필요할 수 있지만 확실히있을 것입니다. 가장 중요한 것은 도달 할 수없는 지역을 설명합니다.
예를 들어, find-file
프롬프트 에 어떤 얼굴이 사용되는지 알고 싶다고합시다 .
C-x C-f
.M-: (buffer-string)
그것은 다음과 같은 결과를 줄 것이고, 바로 거기에 내가 찾고있는 얼굴이 있습니다.
#("Find file: ~/" 0 11 (front-sticky t rear-nonsticky t field t read-only t point-entered minibuffer-avoid-prompt face minibuffer-prompt))
(buffer-string)
. 그러나 "미니 버퍼에있는 동안 명령이 미니 버퍼를 사용하려고 시도했습니다"를 표시하지 않고 미니 버퍼에있는 동안 어떻게 호출합니까?
실제로 마우스를 사용할 수 있음이 밝혀졌습니다 (이것이 정확히 당신이 찾고있는 것일 수도 있습니다).
;; based on: /emacs//a/19585/13444
(defun brds/describe-char-at-mouse-click (click-event)
"`describe-char' at CLICK-EVENT's position.
CLICK-EVENT should be a mouse-click event."
(interactive "e")
(run-hooks 'mouse-leave-buffer-hook)
(let ((pos (cadr (event-start click-event))))
(describe-char pos)))
;; <d>escribe
(global-set-key (kbd "C-c d <down-mouse-1>")
#'brds/describe-char-at-mouse-click)
magit-blame
미니 버퍼 완성 후보, 미니 버퍼 프롬프트 및 회사 팝업뿐만 아니라 헤더에서도 작동합니다 . 그건 내가 모드 - 또는 헤더 라인에 전화를 할 때 어느 나를 위해 작동하지 않습니다 말했다 : 사람들은 내게 줄 (wrong-type-argument number-or-marker-p header-line)
(또는 [...] mode-line
각각). 나는 이것이 특별한 경우라고 생각합니다 (프린지와 마진과 함께).