在缓冲区中找到第N项?

时间:2014-08-25 15:55:33

标签: emacs

从日志/错误消息中我知道文件中第32次出现的字符串有问题。但我不知道行号。我可以使用grep但我已经在emacs中打开了文件。

查看文档,我看到search-forewardsearch-forward-regexp将重复计数作为最终参数。但我看不到直接调用它的方法。我真的很快就把它扔到了一起:

(defun my/find-nth (str num)
  (interactive "MString: \nNCount: ")
  (search-forward str nil nil num))

但我觉得我必须遗漏一些东西。

1 个答案:

答案 0 :(得分:2)

一种方法是使用occur,然后直接跳转到第32次出现:

M-x occur
type your regexp, then RET
M-32 M-g M-n

最后一个命令调用next-error 32次,让你登陆文件中第32次正则表达式。