gpt4 book ai didi

emacs - gnus 有 urlview (a la mutt) 吗?或者只是用 elisp 来提取 url?

转载 作者:行者123 更新时间:2023-12-02 20:04:38 27 4
gpt4 key购买 nike

我从 mutt 切换到 gnus,希望从电子邮件中提取 url,并能够启动一个包含给定电子邮件中所有 url 的新缓冲区。 Urlview 为 mutt 执行此操作,作为我正在寻找的内容的引用框架。

最佳答案

我编写了以下内容并测试了它是否适用于几篇文章。也许这对您来说是一个很好的起点。

(defun gnus-article-extract-url-into-buffer ()
(interactive)
(let ((simple-url-regexp "https?://")
urls)
(save-excursion
;; collect text URLs
(while (search-forward-regexp simple-url-regexp nil t)
(when-let (url (thing-at-point 'url))
(setq urls (cons url urls))))
(beginning-of-buffer)
;; collect widget URLs
(while (not (eobp))
(goto-char (next-overlay-change (point)))
(when-let (link (get-text-property (point) 'gnus-string))
(and (string-match simple-url-regexp link)
(setq urls (cons link urls))))
(goto-char (next-overlay-change (point)))))
(when urls
(switch-to-buffer-other-window "*gnus-article-urls*")
(dolist (url urls)
(insert url))
(beginning-of-buffer))))

我应该澄清,这是为了从文章缓冲区内运行。另外,我可能错过了重点,因为按照字面意思理解了您所说的启动包含网址的新缓冲区,在这种情况下,您可以将最后一个表单更改为:

(when urls
(dolist (url urls)
(browse-url url)))

或者,如果您不需要解析小部件 URL,Tyler 的方法会更简单。

关于emacs - gnus 有 urlview (a la mutt) 吗?或者只是用 elisp 来提取 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4982387/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com