微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

计算组织标题

如何解决计算组织标题

我想从以下位置计算组织标题

* heading how
* heading are
* heading you

* 1.heading how
* 2.heading are
* 3.heading you

所以我把 numerate-org-heading 写成:

(defun numerate-org-heading (args)
  "Numerate org headings"
  (interactive "s")
  (let ((count 0))
    (while (re-search-forward args nil t)
      (setq count (1+ count))
      (replace-match (concat "\1" (string count)
                             (forward-char 1))))))

不幸的是,当我以交互方式调用 Wrong type argument: stringp,^* 并用字符串“^*”馈送它时,它报告 numerate-org-heading 错误

你能给出解决问题的任何提示吗?


修改函数,现在它适用于特定情况:

(defun numerate-org-heading (args)
  "Numerate org headings"
  (interactive "s")
  (let ((count 0))
    (while (re-search-forward args nil t)
      (setq count (1+ count))
      (replace-match (concat "* " (number-to-string count) ".")
                     (forward-char 1))))))

解决方法

如果您将 args 设置为匹配组并捕获任何尾随空格,您可以将其替换为组 1 ("\\1"),后跟您的编号,例如1.

(defun numerate-org-heading (args)
  "Numerate org headings"
  (interactive "s")
  (let ((count 0))
    (while (re-search-forward (concat "\\(" args "[ \\t]*\\)") nil t)
      (setq count (1+ count))
      (replace-match (concat "\\1" (number-to-string count) ".")))))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。