我是Emacs功能的新手。今天是我第一次尝试创建一个函数。
我知道count-matches会告诉我在缓冲区的其余部分出现正则表达式的次数,但大多数时候我需要从缓冲区的开头计算。所以我尝试了这个:
(defun count-matches-for-whole-buffer (text-to-count)
"Opens the ~/.emacs.d/init.el file"
(interactive "sText-to-count:")
(beginning-of-buffer)
(count-matches text-to-count))
我将它放在〜/ .emacs.d / init.el中,然后在该缓冲区上执行“eval-buffer”。
所以现在我可以访问这个功能了。如果我运行它,它会要求我搜索文本。
但该功能只能达到这一行:
beginning-of-buffer
我从未得到过统计。这是为什么?
答案 0 :(得分:1)
两件事。
(goto-char (point-min))
代替beginning-of-buffer
。count-matches
不会显示消息,除非您提供一个指示参数的参数。试试这段代码:
(defun count-matches-for-whole-buffer (text-to-count)
(interactive "sText-to-count:")
(count-matches text-to-count (point-min) (point-max) t))