Emacs rgrep定制

Mat*_*ert 4 emacs elisp

我在〜/ .emacs中有以下自定义函数:

(defun xi-rgrep (term)
  (grep-compute-defaults)
    (interactive "sSearch Term: ")
    (rgrep term "*.[ch]*" "../"))
Run Code Online (Sandbox Code Playgroud)

这个函数只运行rgrep用于在我感兴趣的文件/目录中输入的术语.但是,我想匹配原始的rgrep功能,默认搜索词是该点的单词(我认为这是术语?) .我该如何实现这一目标?我尝试了几件事,包括运行(grep-read-regexp)但没有成功.

Tre*_*son 5

您可以像这样使用'thingatpt包:

(require 'thingatpt)
(defun xi-rgrep (term)
   (interactive (list (completing-read "Search Term: " nil nil nil (thing-at-point 'word))))
  (grep-compute-defaults)
  (rgrep term "*.[ch]*" "../"))
Run Code Online (Sandbox Code Playgroud)