tutorial search vim emacs editor

search - tutorial - "Super estrella" o encuentra la palabra debajo del cursor equivalente en emacs



emacs tutorial (5)

Soy un usuario de vim y recientemente he estado probando emacs por diversión. Encuentro que la característica que más me falta hasta ahora de vim es la función " super estrella " (encuentra la palabra debajo del cursor al escribir *), y aún no he encontrado el equivalente en emacs. Si no está incorporado, ¿qué necesitaría agregar a mi archivo emacs para obtener algo similar?


Aquí hay un comienzo:

(global-set-key (kbd "C-*") (lambda () (interactive) (re-search-forward (format "//b%s//b" (thing-at-point ''word)))))


En estos días también está Smart Scan , un paquete complementario liviano que brinda esta funcionalidad.

Está disponible desde MELPA ; las instrucciones para agregar MELPA a la lista de package-archives habilitados están here .

Para instalarlo:

Mx package-install RET smartscan RET

Puede habilitarlo a través de

(global-smartscan-mode t) ;; Turn on Smart Scan globally

Las asociaciones de teclas predeterminadas para buscar hacia delante y hacia atrás son Mn y Mp , respectivamente.

PD: Si estás interesado, la entrada del blog original que presenta este paquete está here .


Pruebe Cs Cw


si está usando Viper (que funciona muy bien), esto debería funcionar de manera similar:

(require ''thingatpt) (require ''viper) (defun viper-search-word-at-point () "Reset viper-s-string to word at point and start a forward viper search." (interactive) (setq viper-s-string (word-at-point)) (viper-search viper-s-string ''t nil)) (global-set-key (kbd "C-*") ''viper-search-word-at-point)


Como señala paldepind , paldepind isearch-forward-symbol-at-point ( Ms. , Por defecto) es un equivalente cercano a * en Vim. Esta función está disponible comenzando en GNU Emacs 24.4; si su Emacs es diferente o más antiguo, siga leyendo para encontrar alternativas.

Usualmente lo hago ( Mb ...) Cs Cw ... Cs . Es decir:

  1. Mb para pasar al comienzo de la (s) palabra (s) de interés
    • cero o más de estos
  2. Cs para iniciar una I-Search
  3. Cw para tirar de la palabra (s) a partir del punto
    • uno o más de estos
  4. Cs para encontrar el próximo partido
  5. más Cs para encontrar partidos posteriores
  6. RET para salir de I-search en el partido más reciente
    • o un montón de Cg para abortar de nuevo a la ubicación de partida original

Aquí hay un intento de integrarlo en I-Search (invocado a través de C y Cr ; use Ch k C para obtener información sobre isearch ).

(require "thingatpt") (require "isearch") (define-key isearch-mode-map (kbd "C-*") (lambda () "Reset current isearch to a word-mode search of the word under point." (interactive) (setq isearch-word t isearch-string "" isearch-message "") (isearch-yank-string (word-at-point))))

Al integrarlo en I-Search, se aprovecha su configuración de correspondencia de palabras y sensibilidad de mayúsculas y minúsculas ( Cs Mc C- * haría una búsqueda sensible a mayúsculas y minúsculas en la palabra debajo del punto).