怎么搜索一个文件

用ag,ripgrep等工具搜索的都是一个目录下的文件中内容;我怎么搜索当前文件呢?并且把当前文件搜索结果展示出来; 或者用helm-swoop 出来的结果怎么像ag出来的一样的呢,而不是选中一个条目后结果就没了

emacs 自带的 occur (M-s o)

或者使用 swiper 然后输入 C-c C-o

1 个赞

可以。 非常感谢

swiper貌似和helm-swoop一样,选中了一个条目之后result buffer就消失了,可以保持吗

swpier 搜索之后不要动,然后按 C-c C-o ,这时候会出现一个单独的 buffer 存放结果类似 emacs 自带的 occur

1 个赞

原来如此,那swiper或者occur可以把光标当前单词自动填入吗

大佬,原来如此,那swiper或者occur可以把光标当前单词自动填入吗

貌似不可以吧(或许我不知道)

1 个赞

按M-j 可以;不过整个过程麻烦了一些swiper,相当于本项一次出结果的,现需要c-s 调出swiper然后M-j存入当前word;出结果后再c-c c-o到另外buffer中

1 个赞

查了下,按M-j 可以;不过整个过程麻烦了一些swiper,相当于本项一次出结果的,现需要c-s 调出swiper然后M-j存入当前word;出结果后再c-c c-o到另外buffer中

恩,是的。。。

1 个赞
(defun occur-symbol-at-point ()
   (interactive)
   (let ((sym (thing-at-point 'symbol)))
     (if sym
        (push (regexp-quote sym) regexp-history)) ;regexp-history defvared in replace.el
       (call-interactively 'occur)))

还可以这样改写 occur

1 个赞

非常感谢大佬,这个功能我找了好久了,在你帮助下终于搞定了

额,不是什么大佬,互相提高吧

1 个赞

帮助人的,都应收到感谢

1 个赞

你可以使用helm-resume恢复先前的helm session

查找文件名

M-x find-dired

查找文件内容

M-x find-grep

兄弟不要答非所问啊

spacemacs/swiper-region-or-symbol可以copy下这个函数。

(defun peng-swiper-current-symbol ()
  (interactive)
  (let ((symbol (thing-at-point 'symbol)))
    (swiper symbol)))

这是我搞的一个swiper当前symbol的函数。