Answers:
我不知道如何使用鼠标,但是我经常发现它对我来说是最容易运行的 list-faces-display
,然后我就搜索可能被称为面部的东西或在视觉上扫描看起来相同的文本。
Emacs可以在4个区域中显示文本,您可以按照以下步骤检查每个区域。
mode-line-format
。header-line-format
。(buffer-string)
。M-: (buffer-string)
,这将描述minibuffer的内容。您可能需要(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
)。我认为这些可能是特别特殊的情况(以及边缘和边缘)。