回答:
私はマウスの使用については知りませんが、実行するのが最も簡単でlist-faces-display
、顔と呼ばれる可能性のあるものをi検索するか、同じように見えるテキストを視覚的にスキャンすることが最も簡単であることがしばしばわかりました 。
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
それぞれ)。これらは、(フリンジとマージンとともに)特に特別な場合があると思います。