Cerca tra i valori di tutte le variabili in Emacs


9

Vorrei trovare quali variabili contengono un certo valore.

C'è un modo per fare una ricerca regex attraverso i valori di ogni variabile in Emacs?

Risposte:


12

Fa apropos-valuequello che stai cercando?

(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.

3

Il comando Iciclesicicle-apropos-value migliora il comando vanilla apropos-value, consentendo di abbinare contemporaneamente il nome e il valore della variabile a regexps (o sottostringhe o altri motivi). Non è necessario abbinarli entrambi, ma è possibile abbinarli entrambi.

E (come con tutto il completamento di Icicles) puoi abbinare il nome o il valore o entrambi progressivamente , cioè usando più pattern in modo incrementale. Questo è particolarmente importante per un caso in cui, come dici tu, stai confrontando con tutte le variabili in Emacs, per cominciare. Cioè, non ti interessa abbinare contro i nomi; vuoi solo abbinare i valori.

Per abbinare sia il nome che il valore, basta usare C-M-jper terminare il modello del nome e iniziare il modello del valore. Quindi, per abbinare solo i valori, si inizia con C-M-je quindi si digita il modello di valore, poiché il modello di nome è vuoto.

Ad esempio, per vedere tutte le variabili il cui valore attuale corrisponde nil( S-TABmostra le corrispondenze):

M-x icicle-apropos-value RET

SYMBOL C-M-j VALUE: C-M-j nil S-TAB

Per vedere tutte le variabili il cui valore corrente corrisponde a regexp .*plist:

SYMBOL C-M-j VALUE: C-M-j .*plist S-TAB

Le variabili corrispondenti e i loro valori vengono visualizzati nel buffer *Completions*, come candidati al completamento. È possibile scorrere tra i candidati, rendendo ogni quello attuale, a sua volta, utilizzando i tasti freccia verticali-: <down> <down> <down>....

La prima riga della stringa di documenti per l'attuale candidato al completamento è mostrata nella riga della modalità di *Completions*.

È possibile ottenere una descrizione completa (ovvero, C-h v) del candidato corrente utilizzando una chiave di aiuto su di esso: C-M-mouse-2oppure C-M-RET. Per visualizzare a turno l'aiuto su ciascun candidato, scorrere con i tasti freccia con C-M-(ad esempio, ripetere C-M-<down>).

Vedere Comandi multipli a valore variabile in funzione delle variabili .

C-h f icicle-apropos-value dice questo:

icicle-apropos-valueè una funzione Lisp compilata interattiva in icicles-cmd1.el.

Esso è destinato a 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)

Scegli una variabile, una funzione o un'altra descrizione del simbolo.

Questo è simile al comando vanilla apropos-value, ma è possibile abbinare contemporaneamente il nome della variabile e il suo valore stampato.

Per impostazione predefinita, ogni candidato al completamento è multi-completamento composto da un nome di variabile più il suo valore. Sono separati da icicle-list-join-string( "^G^J", per impostazione predefinita).

Con un prefisso arg, i candidati sono diversi tipi di simboli:

  • <0: funzioni e relative definizioni (ma le definizioni compilate in byte vengono ignorate)
  • > 0: simboli e relative pianificazioni
  • = 0: variabili e loro valori, funzioni e loro definizioni e altri simboli e loro piani

  • plain ( C-u): usa l'ultimo gruppo di candidati ( memorizzato nella cache )

È possibile utilizzare C-$durante il completamento per attivare o disattivare il filtro del dominio dei candidati iniziali in base all'argomento prefisso, come segue:

  • nessuno: solo opzioni utente (+ valori)
  • <0: solo comandi (+ definizioni)
  • > 0: solo facce (+ piani)
  • = 0: solo opzioni (+ valori), comandi (+ def), facce (+ piani)

Guarda anche:

  • icicle-apropos-vars-w-val-satisfying, icicle-describe-vars-w-val-satisfying- i valori soddisfano un predicato
  • icicle-plist - simile a questo comando con prefisso positivo arg
  • icicle-vardoc, icicle-fundoc, icicle-doc- match Nome & doc
  • icicle-apropos-options-of-type, icicle-describe-option-of-type- nome della corrispondenza e tipo defcustom

Poiché utilizzerai spesso questo comando in contesti che risultano in molti, molti candidati al completamento, per impostazione predefinita questo comando è disattivato:

  • Modalità incompleta. Puoi attivarlo usando M-i M-#.
  • Completamento incrementale dei ghiaccioli. Puoi scorrere questo usando M-i #.

Leggi l'input, quindi chiama icicle-doc-actionper agire su di esso.

Sono disponibili il completamento e il ciclo di input-candidate. Durante il ciclo, questi tasti con prefisso C-sono attivi:

C-mouse-2, C-return- Agisci solo sul candidato al completamento attuale C-down, C-wheel-down- Passa al candidato al completamento successivo e agisci C-up, C-wheel-up- Passa al candidato al completamento precedente e agisci C-next - Passa al candidato al completamento apropos successivo e agisci C-prior- Passa al candidato al completamento apropos precedente e agisci C-end - Passa al successivo candidato e atto di completamento del prefisso C-home - Passa al candidato e atto di completamento del prefisso precedente C-! - Agisci su tutti i candidati, in successione (attenzione!)

Quando si combinano azione candidata e ciclismo (ad es. C-next), L'opzione utente icicle-act-before-cycle-flagdetermina quale si verifica per prima.

Con il prefisso C-M-al posto di C-, gli stessi tasti ( C-M-mouse-2, C-M-RET, C-M-downe così via) forniscono aiuto sui candidati.

Utilizzare mouse-2, RETo S-RETper scegliere finalmente un candidato o C-gper uscire.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.