Recibe la palabra en el punto


10

Es una cosa simple Mi cursor está sobre una palabra y quiero obtener la palabra para poder hacer algo con ella. Veo algunas formas diferentes de hacerlo, pero quiero evitar la reinvención y usar un método estándar.


1
La pregunta no está clara. ¿Hacer algo con eso dónde? En un programa (código)? ¿Interactivamente? ¿Ambos? Que tipo de algo
Dibujó el

"Leer" en Emacs y Emacs Lisp generalmente significa leer de forma interactiva o leer (cargar) el código Lisp. He editado la pregunta para decir "obtener" la palabra en lugar de "leerla".
Dibujó el

¿Qué significa "obtener la palabra"? ¿Desea una expresión Lisp cuyo valor sea una cadena que contenga la palabra? ¿Quieres marcar la palabra? ¿Quieres poner la palabra en el anillo de matar?
Omar

Respuestas:


14

Puede usar la función thing-at-pointy decirle que devuelva el wordpunto at y que no devuelva ninguna propiedad de texto (a menos que las necesite). Ejemplo de contenido del búfer (| es el cursor):

Hola wor | ld

Llamar (thing-at-point 'word 'no-properties)devuelve "mundo".


1
(current-word &optional STRICT REALLY-WORD)

Devuelve la palabra en o cerca del punto, como una cadena. El valor de retorno no incluye propiedades de texto.


-1

Si desea insertar la palabra (o cualquier otra cosa, nombre de archivo, etc.) en el punto en el minibúfer, cuando esté editando la entrada, simplemente use M-., si usa Icicles .

Consulte Insertar texto desde el cursor .

Puede usar M-.repetidamente (por ejemplo M-. M-. M-.) para:

  • Vaya a un tipo diferente de cosas para agarrar en un punto e insértelo.
  • Inserte más (es decir, sucesivas) cosas del mismo tipo (por ejemplo, palabras) desde el búfer.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.