有没有办法在不实际重命名组的情况下更改 GNUS 中显示的组名称?我从 IMAP 服务器上读取了我的电子邮件,并且组名非常难看(例如 nnimap+uwindsor:INBOX。)我尝试使用该命令gnus-group-rename-group
,但它试图更改实际服务器上的名称。有没有办法简单地将实际名称映射到某个本地显示名称,以使我的组缓冲区更具可读性?
1 回答
8
所以这就是我解决问题的方法。首先,非常感谢abiessu通过他的评论为我指明了正确的方向。
(setq gnus-group-line-format "%M%S%5y/%-5t: %uG %D\n")
(defun gnus-user-format-function-G (arg)
(let ((mapped-name (assoc gnus-tmp-group group-name-map)))
(if (null mapped-name)
gnus-tmp-group
(cdr mapped-name))))
这个小功能只是在我定义的地图中查找当前组名,如果有“翻译”,它会显示该名称而不是实际名称。我在配置中使用的一些示例是:
(setq group-name-map '(("nnimap+uwindsor:INBOX" . "School-Inbox")
("nnimap+uwindsor:[Gmail]/Starred" . "School-Starred")
("nnimap+uwindsor:[Gmail]/Sent Mail" . "School-Sent")))
只使用一个 alist 很好,因为我可以随心所欲地创建映射,而不必求助于正则表达式、模式等。
于 2014-03-03T16:37:19.333 回答