Obtenez mot au point

10

C'est une chose simple. Mon curseur est sur un mot et je veux le saisir pour pouvoir faire quelque chose avec. Je vois quelques façons différentes de le faire, mais je veux éviter la réinvention et utiliser une méthode standard.

deadghost
la source
1
La question n'est pas claire. Faire quelque chose avec ça où? Dans un programme (code)? Interactivement? Tous les deux? Quel genre de chose?
Drew
"Lire" dans Emacs et Emacs Lisp signifie généralement lire de manière interactive ou lire (charger) du code Lisp. J'ai édité la question pour dire "obtenir" le mot au lieu de le "lire".
Tiré
Que signifie «comprendre le mot»? Voulez-vous une expression Lisp dont la valeur est une chaîne contenant le mot? Voulez-vous marquer le mot? Voulez-vous mettre le mot dans le kill ring?
Omar

Réponses:

14

Vous pouvez utiliser la fonction thing-at-pointet lui dire de renvoyer le wordpoint at et de ne renvoyer aucune propriété de texte (sauf si vous en avez besoin). Exemple de contenu du tampon (| est le curseur):

Bonjour wor | ld

L'appel (thing-at-point 'word 'no-properties)renvoie "monde".

Wieland
la source
1
(current-word &optional STRICT REALLY-WORD)

Renvoie le mot au point ou près, sous forme de chaîne. La valeur de retour ne comprend aucune propriété de texte.

user213294
la source
-1

Si vous souhaitez insérer le mot (ou toute autre chose - nom de fichier, etc.) à un point dans le mini-tampon, lorsque vous modifiez l'entrée, utilisez simplement M-., si vous utilisez Icicles .

Voir Insertion de texte à partir du curseur .

Vous pouvez utiliser à M-.plusieurs reprises (par exemple M-. M-. M-.) pour:

  • Passez à un autre type de chose à saisir au point et insérez-le.
  • Insérez plus (c.-à-d., Des choses successives) du même type (par exemple des mots) dans le tampon.
A dessiné
la source