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.