Lubię używać kombinacji describe-face
i customize-face
do dostosowywania wyglądu mojego środowiska pracy. Czasami ten przepływ pracy kończy się niepowodzeniem, gdy chcę zmienić oblicze lokalizacji, do której nie mogę dotrzeć kursorem; mode-line, header-line, magit-blame headers itp. Przez większość czasu mogę prześledzić drogę i znaleźć sposób na rozwiązanie problemu, ale czasami utknąłem (na przykład nie wiedziałem, że nagłówek istnieje do wczoraj) .
Czy istnieje wygodny sposób na opisanie powierzchni lokalizacji w ramce, do której kursor nie jest dostępny? Na przykład za pomocą myszy.
Istnieją 4 regiony, w których tekst może być wyświetlany w Emacsie, oto co możesz zrobić, aby sprawdzić każdy z nich.
mode-line-format
.header-line-format
.(buffer-string)
.M-: (buffer-string)
, a to opisuje zawartość minibufora. Być może będziesz musiał(setq enable-recursive-minibuffers to t)
najpierw.Te metody dadzą ci całą zawartość tych regionów, więc może trochę potrwać, aby znaleźć twarz, której szukasz, ale na pewno tam będzie. Co najważniejsze, opisuje nawet regiony, do których nie można dotrzeć.
Powiedzmy na przykład, że chcę wiedzieć, która twarz jest używana w
find-file
wierszu polecenia.C-x C-f
.M-: (buffer-string)
To da coś w rodzaju następującego wyniku, a na końcu jest twarz, której szukałem.
źródło
(buffer-string)
. Ale jak mogę je wywołać, gdy jestem w minibuforze, nie ujawniając polecenia „Próbowano użyć minibufora podczas przebywania w minibuforze”?Okazuje się, że rzeczywiście możesz użyć myszy (myślę, że może to być dokładnie to, czego szukałeś):
źródło
magit-blame
nagłówkach, a także, co najmniej, kandydatów do ukończenia minibufora, monitu bufora i wyskakujących okienek firmy. To powiedziawszy, nie działa dla mnie, gdy wywołuję to w trybie lub linii nagłówka: te dają mi(wrong-type-argument number-or-marker-p header-line)
(lub[...] mode-line
odpowiednio). Myślę, że mogą to być szczególnie szczególne przypadki (wraz z marginesem i marginesem).