In Vim il tasto * in modalità normale cerca la parola sotto il cursore. In GNU Emacs l'equivalente nativo più vicino sarebbe:Come posso emulare la ricerca di Vim * in GNU Emacs?
C-s C-w
Ma non è proprio la stessa cosa. Apre il mini buffer di ricerca incrementale e copia dal cursore nel buffer corrente fino alla fine della parola. In Vim cercheresti l'intera parola, anche se sei nel mezzo della parola quando premi *.
Ho cucinato un po 'di elisp di fare qualcosa di simile:
(defun find-word-under-cursor (arg)
(interactive "p")
(if (looking-at "\\<")() (re-search-backward "\\<" (point-min)))
(isearch-forward))
che trotta indietro all'inizio della parola prima di sparare fino isearch. L'ho associato a C- +, che è facile da digitare sulla mia tastiera e simile a *, quindi quando digito C-+ C-w
viene copiato dall'inizio della parola sul mini-buffer di ricerca.
Tuttavia, questo non è ancora perfetto. Idealmente, regexp la ricerca di "\<" word "\>"
per non mostrare corrispondenze parziali (la ricerca della parola "bar" non dovrebbe corrispondere a "foobar", solo "bar" a sé stante). Ho provato ad usare search-forward-regexp e concating \ <> ma questo non si avvolge nel file, non evidenzia le corrispondenze ed è generalmente piuttosto lento. Una funzione isearch- * sembra la soluzione migliore, ma questi non si comportano bene quando vengono scritti degli script.
Qualche idea? Qualcuno può offrire qualche miglioramento al bit di ELIS? O c'è un altro modo che ho trascurato?
Sì, Emacs consente di eseguire il collegamento a isearch per eseguire questa operazione, ma il pacchetto di simboli di evidenziazione è ancora migliore. Trovo che mantenere i simboli centrali nel mio attuale processo di pensiero sia di grande aiuto. Inoltre, ottieni una ricerca chiave e il tuo punto rimane costante rispetto all'inizio del simbolo. –
http://stackoverflow.com/questions/1775005/super-star-or-find-the-word-under-the-cursor-equivalent-in-emacs – Neil