Me gustaría encontrar qué variables contienen un cierto valor.
¿Hay alguna manera de hacer una búsqueda de expresiones regulares a través de los valores de cada variable en Emacs?
Me gustaría encontrar qué variables contienen un cierto valor.
¿Hay alguna manera de hacer una búsqueda de expresiones regulares a través de los valores de cada variable en Emacs?
¿Hace apropos-value
lo que estás buscando?
(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.
El comando Iciclesicicle-apropos-value
mejora el comando vanilla apropos-value
, al permitirle hacer coincidir simultáneamente el nombre y el valor de la variable con expresiones regulares (o subcadenas u otros patrones). No necesitas unirlos a ambos, pero puedes unirlos a ambos.
Y (como con la finalización de todos los Icicles) puede hacer coincidir el nombre o el valor o ambos progresivamente , es decir, utilizando múltiples patrones de forma incremental. Esto es particularmente importante para un caso en el que, como usted dice, está haciendo coincidir con todas las variables en Emacs, para empezar. Es decir, no te importa hacer coincidir los nombres; solo quieres hacer coincidir los valores.
Para hacer coincidir tanto el nombre como el valor, simplemente use C-M-j
para finalizar el patrón de nombre y comenzar el patrón de valor. Entonces, para hacer coincidir solo los valores, comienza con C-M-j
y luego escribe el patrón de valor, ya que el patrón de nombre está vacío.
Por ejemplo, para ver todas las variables cuyo valor actual coincide nil
( S-TAB
muestra coincidencias):
M-x icicle-apropos-value RET
SYMBOL C-M-j VALUE:
C-M-j
nil
S-TAB
Para ver todas las variables cuyo valor actual coincide con regexp .*plist
:
SYMBOL C-M-j VALUE:
C-M-j
.*plist
S-TAB
Las variables coincidentes y sus valores se muestran en el búfer *Completions*
, como candidatos de finalización. Puede desplazarse entre los candidatos, haciendo que cada uno actual, a su vez, con las teclas de flecha verticales-: <down> <down> <down>...
.
La primera línea de cadena de documentación para el candidato de finalización actual se muestra en la línea de modo de *Completions*
.
Puede obtener una descripción completa (es decir, C-h v
) del candidato actual utilizando una tecla de ayuda: C-M-mouse-2
o C-M-RET
. Para ver ayuda sobre cada candidato por turno, use las teclas de flecha con C-M-
(por ejemplo, repetir C-M-<down>
).
Ver Multi-Comandos Variable-A propósito de Value-Aware .
C-h f icicle-apropos-value
dice esto:
icicle-apropos-value
es una función Lisp compilada interactiva enicicles-cmd1.el
.Se ve obligada 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)
Elija una variable, función u otra descripción de símbolo.
Esto es similar al comando vanilla
apropos-value
, pero puede coincidir con el nombre de la variable y su valor impreso al mismo tiempo.Por defecto, cada candidato de finalización está compuesto por múltiples finalizaciones compuesto por un nombre de variable más su valor. Están separados por
icicle-list-join-string
("^G^J"
, por defecto).Con un prefijo arg, los candidatos son diferentes tipos de símbolos:
- <0: funciones y sus defs (pero se omiten las defs compiladas en bytes)
- > 0: símbolos y sus listas
= 0: variables y sus valores, funciones y sus definiciones, y otros símbolos y sus listas
plain (
C-u
): usa el último conjunto de candidatos (en caché ) calculadoPuede usar
C-$
durante la finalización para alternar el filtrado del dominio de los candidatos iniciales según el argumento del prefijo, de la siguiente manera:
- ninguno: solo opciones de usuario (+ valores)
- <0: solo comandos (+ definiciones)
- > 0: solo caras (+ listas)
- = 0: solo opciones (+ valores), comandos (+ defs), caras (+ listas)
Ver también:
icicle-apropos-vars-w-val-satisfying
,icicle-describe-vars-w-val-satisfying
- los valores satisfacen un predicadoicicle-plist
- similar a este comando con prefijo positivo argicicle-vardoc
,icicle-fundoc
,icicle-doc
- nombre de coincidencia y docicicle-apropos-options-of-type
,icicle-describe-option-of-type
- nombre del partido y tipo personalizadoDebido a que a menudo usará este comando en contextos que resultan en muchos, muchos candidatos de finalización, lo siguiente está desactivado de manera predeterminada para este comando:
- Modo incompleto Puede alternar esto usando
M-i M-#
.- Carámbanos de terminación incremental. Puede realizar un ciclo con esto
M-i #
.Lea la entrada, luego llame
icicle-doc-action
para actuar en consecuencia.La entrada-candidato de finalización y ciclismo están disponibles. Durante el ciclismo, estas teclas con prefijo
C-
están activas:
C-mouse-2
,C-return
- Actuar solo con el candidato de finalización actualC-down
,C-wheel-down
- Pasar al siguiente candidato de finalización y actuarC-up
,C-wheel-up
- Pasar al candidato de finalización anterior y actuarC-next
- Pasar al siguiente candidato y finalizarC-prior
a propósito anterior - Pasar al candidato y finalizar a propósito anteriorC-end
- Actuar a siguiente candidato y finalización de prefijo - ActuarC-home
- Pasar al candidato y completar anterior de prefijoC-!
- Actuar sobre todos los candidatos, sucesivamente (¡cuidado!)Cuando se combinan la acción del candidato y el ciclismo (p
C-next
. Ej. ), La opción del usuarioicicle-act-before-cycle-flag
determina qué ocurre primero.Con el prefijo
C-M-
en lugar deC-
, las mismas teclas (C-M-mouse-2
,C-M-RET
,C-M-down
, etc.) proporcionan ayuda acerca de los candidatos.Use
mouse-2
,RET
oS-RET
para finalmente elegir un candidato, oC-g
para dejar de fumar.