Prendi parola al punto


10

È una cosa semplice Il mio cursore si trova su una parola e voglio ottenere la parola in modo da poter fare qualcosa con essa. Vedo alcuni modi diversi per farlo, ma voglio evitare la reinvenzione e utilizzare un metodo standard.


1
La domanda non è chiara. Fare qualcosa con esso dove? In un programma (codice)? Interattivo? Tutti e due? Che tipo di qualcosa?
— Disegnato il

"Leggi" in Emacs ed Emacs Lisp generalmente significa leggere interattivamente o leggere (caricare) il codice Lisp. Ho modificato la domanda per dire "prendi" la parola invece di "leggerla".
— Disegnato il

Che cosa significa "ottenere la parola"? Vuoi un'espressione Lisp il cui valore è una stringa che contenga la parola? Vuoi segnare la parola? Vuoi mettere la parola sul ring di uccisione?
— Omar,

Risposte:


14

Puoi usare la funzione thing-at-pointe dirgli di restituire il wordpunto at e di non restituire alcuna proprietà di testo (a meno che tu non ne abbia bisogno). Contenuto del buffer di esempio (| è il cursore):

Ciao wor | ld

La chiamata (thing-at-point 'word 'no-properties)restituisce "mondo".


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

Restituisce la parola nel punto o vicino, come stringa. Il valore restituito non include proprietà di testo.


-1

Se vuoi inserire la parola (o qualsiasi altra cosa - nome del file, ecc.) Nel punto nel minibuffer, quando stai modificando l'input, usa semplicemente M-., se usi Icicles .

Vedi Inserimento di testo dal cursore .

Puoi usare M-.ripetutamente (es. M-. M-. M-.) Per:

  • Passa a un altro tipo di cose per afferrarlo in un punto e inserirlo.
  • Inserisci più buffer (cioè successivi) dello stesso tipo (es. Parole) dal buffer.
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.