Frage

Ich habe mein eigenes benutzerdefiniertes Farbthema entwickelt, und es wäre wirklich nützlich sein, wenn ich eine Liste der font-Gesichter bekommen konnte den Text unter dem Cursor zu beeinflussen.

So etwas wie Textmate Show aktuelle Bereich Befehl.

Das würde mich retten die Mühe der M-x customize-face tun und Optionen der Suche durch, bei denen erraten man das aktuelle Wort wirkt sich auf ich bin.

Irgendwelche Ideen?

War es hilfreich?

Lösung

Sie können what-face mit diesem Code definieren:

(defun what-face (pos)
  (interactive "d")
  (let ((face (or (get-char-property (pos) 'read-face-name)
                  (get-char-property (pos) 'face))))
    (if face (message "Face: %s" face) (message "No face at %d" pos))))

Danach

M-x what-face

wird das Gesicht am aktuellen Punkt gefunden drucken.

(Danke an thedz für den Hinweis auf, dass what-face nicht gebaut wurde.)

Andere Tipps

what-cursor-position mit einem Präfix Argumente zeigt das Gesicht unter Punkt neben anderen Informationen.

Tastaturkürzel sind C-u C-x =

Beispiel Ausgabe (das Gesicht Eigenschaft wird im letzten Absatz dargestellt):

             position: 5356 of 25376 (21%), column: 4
            character: r (displayed as r) (codepoint 114, #o162, #x72)
    preferred charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x72
               syntax: w    which means: word
             category: .:Base, L:Left-to-right (strong), a:ASCII, l:Latin, r:Roman
          buffer code: #x72
            file code: #x72 (encoded by coding system undecided-unix)
              display: by this font (glyph code)
    nil:-apple-Monaco-medium-normal-normal-*-12-*-*-*-m-0-iso10646-1 (#x55)

Character code properties: customize what to show
  name: LATIN SMALL LETTER R
  general-category: Ll (Letter, Lowercase)
  decomposition: (114) ('r')

There are text properties here:
  face                 org-level-2
  fontified            t

[back]

M-x beschreibt Gesicht

Trey ist, was Gesicht auf dem richtigen Weg ist. Es führte mich zu einer E-Mail auf einer Mailingliste, die dies hatte:

(defun what-face (pos)
    (interactive "d")
        (let ((face (or (get-char-property (point) 'read-face-name)
            (get-char-property (point) 'face))))
    (if face (message "Face: %s" face) (message "No face at %d" pos))))

Es gibt einen Fehler in der `Was-sei-face‘ Code: Die Funktion übernimmt ‚po‘ als Argument aber dann es nicht verwenden, wenn das Gesicht bekommen - stattdessen verwendet es ‚(Punkt)‘, auch wenn die Nachricht später Ansprüche pos in dem "No Gesicht in% d" Fall.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top