Ich möchte herausfinden, welche Variablen einen bestimmten Wert enthalten.
Gibt es eine Möglichkeit, eine Regex-Suche durch die Werte jeder Variablen in Emacs durchzuführen?
Ich möchte herausfinden, welche Variablen einen bestimmten Wert enthalten.
Gibt es eine Möglichkeit, eine Regex-Suche durch die Werte jeder Variablen in Emacs durchzuführen?
Tut apropos-value
was Sie suchen?
(apropos-value PATTERN &optional DO-ALL)
Show all symbols whose value’s printed representation matches PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters). If it is a word,
search for matches for that word as a substring. If it is a list of words,
search for matches for any two (or more) of those words.
Icicles Befehl icicle-apropos-value
Verstärkt Vanille-Befehl apropos-value
, indem es Ihnen gleichzeitig die Variable übereinstimmen Name und Wert gegen regexps (oder Teil oder andere Muster). Sie müssen nicht beide zuordnen, aber Sie können beide zuordnen.
Und (wie bei allen Eiszapfen) können Sie den Namen oder den Wert oder beides schrittweise abgleichen, dh mehrere Muster schrittweise verwenden. Dies ist besonders wichtig für den Fall, dass Sie, wie Sie sagen, zunächst mit allen Variablen in Emacs übereinstimmen. Das heißt, Sie möchten nicht mit Namen übereinstimmen. Sie möchten nur Werte abgleichen.
Um sowohl Name als auch Wert abzugleichen C-M-j
, beenden Sie einfach das Namensmuster und beginnen Sie mit dem Wertemuster. Um nur mit Werten übereinzustimmen, beginnen Sie mit C-M-j
dem Wertemuster und geben es ein, da das Namensmuster leer ist.
So zeigen Sie beispielsweise alle Variablen an, deren aktueller Wert übereinstimmt nil
( S-TAB
Übereinstimmungen anzeigen):
M-x icicle-apropos-value RET
SYMBOL C-M-j VALUE:
C-M-j
nil
S-TAB
So zeigen Sie alle Variablen an, deren aktueller Wert mit regulärem Ausdruck übereinstimmt .*plist
:
SYMBOL C-M-j VALUE:
C-M-j
.*plist
S-TAB
Übereinstimmende Variablen und ihre Werte werden *Completions*
als Abschlusskandidaten im Puffer angezeigt . Mit den vertikalen Pfeiltasten können Sie zwischen den Kandidaten wechseln und jeden nacheinander auf den neuesten Stand bringen : <down> <down> <down>...
.
Die erste Dokumentzeichenfolge für den aktuellen Abschlusskandidaten wird in der Moduszeile von angezeigt *Completions*
.
Sie können eine vollständige (dh C-h v
) Beschreibung des aktuellen Kandidaten erhalten, indem Sie einen Hilfeschlüssel verwenden: C-M-mouse-2
oder C-M-RET
. Um nacheinander Hilfe zu jedem Kandidaten zu erhalten, wechseln Sie mit den Pfeiltasten C-M-
(z C-M-<down>
. B. Wiederholen ).
Siehe Wertbewusste Variable-Apropos-Mehrfachbefehle .
C-h f icicle-apropos-value
sagt dies:
icicle-apropos-value
ist eine interaktive kompilierte Lisp-Funktion inicicles-cmd1.el
.Es ist gebunden
menu-bar help-menu apropos icicles icicle-apropos-value
,menu-bar help-menu apropos apropos-var-value
,menu-bar help-menu search-documentation find-option-by-value
.
(icicle-apropos-value)
Wählen Sie eine Variable, eine Funktion oder eine andere Symbolbeschreibung.
Dies ähnelt dem Befehl vanilla
apropos-value
, Sie können jedoch gleichzeitig den Variablennamen und den gedruckten Wert abgleichen.Standardmäßig ist jeder Abschlusskandidat eine Mehrfachvervollständigung, die sich aus einem Variablennamen und seinem Wert zusammensetzt. Sie sind standardmäßig durch
icicle-list-join-string
("^G^J"
) getrennt.Mit einem Präfix arg sind Kandidaten verschiedene Arten von Symbolen:
- <0: Funktionen und ihre Defs (aber bytekompilierte Defs werden übersprungen)
- > 0: Symbole und ihre Listen
= 0: Variablen und ihre Werte, Funktionen und ihre Definitionen sowie andere Symbole und ihre Listen
plain (
C-u
): Verwenden Sie die zuletzt berechnete ( zwischengespeicherte ) Gruppe von KandidatenSie können
C-$
während des Abschlusses die Filterung der Domäne der Erstkandidaten gemäß dem Präfixargument wie folgt umschalten:
- keine: nur Benutzeroptionen (+ Werte)
- <0: nur Befehle (+ Definitionen)
- > 0: nur Gesichter (+ Plisten)
- = 0: nur Optionen (+ Werte), Befehle (+ Defs), Gesichter (+ Plisten)
Siehe auch:
icicle-apropos-vars-w-val-satisfying
,icicle-describe-vars-w-val-satisfying
- Werte erfüllen ein Prädikaticicle-plist
- ähnlich diesem Befehl mit positivem Präfix argicicle-vardoc
,icicle-fundoc
,icicle-doc
- Spiel Name & docicicle-apropos-options-of-type
,icicle-describe-option-of-type
- Übereinstimmungsname & benutzerdefinierter TypDa Sie diesen Befehl häufig in Kontexten verwenden, die zu vielen, vielen Abschlusskandidaten führen, ist Folgendes für diesen Befehl standardmäßig deaktiviert:
- Unvollständiger Modus. Sie können dies mit umschalten
M-i M-#
.- Inkrementelle Fertigstellung der Eiszapfen. Sie können dies mit radeln
M-i #
.Lesen Sie die Eingabe und rufen Sie
icicle-doc-action
an, um darauf zu reagieren.Der Abschluss des Eingabekandidaten und das Radfahren sind verfügbar. Während des Radfahrens sind diese Tasten mit Präfix
C-
aktiv:
C-mouse-2
,C-return
- Gesetz über die aktuellen Vervollständigungskandidaten nurC-down
,C-wheel-down
- Zum nächsten Vervollständigungskandidaten und handeltC-up
,C-wheel-up
- Verschieben zum vorherigen Vervollständigungskandidaten und handelnC-next
- Zum nächsten apropos-Vervollständigungskandidaten und handelnC-prior
- Zum vorherigen apropos-Vervollständigungskandidaten und handelnC-end
- Zum nächsten Präfix-Vervollständigungskandidat und -handlungC-home
- Zum vorherigen Präfix-Vervollständigungskandidaten wechseln und handelnC-!
- Alle Kandidaten nacheinander (vorsichtig!) behandeln.Wenn Kandidatenaktion und Radfahren kombiniert werden (z. B.
C-next
),icicle-act-before-cycle-flag
bestimmt die Benutzeroption , welche zuerst auftritt.Mit Präfix
C-M-
stattC-
, die gleichen Tasten (C-M-mouse-2
,C-M-RET
,C-M-down
, usw.) bieten Hilfe über die Kandidaten.Verwenden Sie
mouse-2
,RET
oder,S-RET
um endgültig einen Kandidaten auszuwählen oder umC-g
zu beenden.