Dans Vim sur la touche * en mode normal, les recherches pour le mot sous le curseur. Dans GNU Emacs, le plus proche équivalent natif serait:
C-s C-w
Mais ce n'est pas tout à fait la même. Il ouvre la recherche incrémentale mini tampon et copies du curseur dans le tampon courant à la fin du mot. Dans Vim, vous seriez de recherche pour le mot en entier, même si vous êtes dans le milieu de la parole lorsque vous appuyez sur *.
J'ai cuit un peu de elisp pour faire quelque chose de similaire:
(defun find-word-under-cursor (arg)
(interactive "p")
(if (looking-at "\\<") () (re-search-backward "\\<" (point-min)))
(isearch-forward))
Qui trotte vers l'arrière pour le début de la parole, avant de tirer jusqu'isearch. J'ai tenu à C+, qui est facile à taper sur mon clavier et semblable à *, donc quand je tape C-+ C-w
il copie à partir du début du mot à la recherche d'un mini-tampon.
Cependant, ce n'est toujours pas parfait. Idéalement, il serait regexp recherche d' "\<" word "\>"
de ne pas montrer les correspondances partielles (a la recherche du mot "bar" ne correspond pas à "foobar", juste "bar" sur son propre). J'ai essayé d'utiliser la recherche de l'avant-regexp et concat qui pratiquent \ mais ce n'est pas envelopper dans le fichier, ne met pas en évidence les matchs et est généralement assez boiteux. Un isearch-* fonction semble le meilleur choix, mais ces derniers ne se comportent bien lors de script.
Des idées? Quelqu'un peut-il proposer des améliorations pour le peu de elisp? Ou est-il un autre moyen que j'ai négligé?