更改GNUS组的显示名称

bst*_*our 8 emacs imap gnus

有没有办法在没有实际重命名组的情况下更改GNUS中组显示的名称?我从IMAP服务器上读取了我的电子邮件,组名非常难看(例如nnimap + uwindsor:INBOX.)我尝试使用该命令gnus-group-rename-group但尝试更改实际服务器上的名称.有没有办法简单地将实际名称映射到一些本地显示名称,以使我的组缓冲区更具可读性?

bst*_*our 7

所以这就是我解决问题的方法.首先,非常感谢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))))
Run Code Online (Sandbox Code Playgroud)

这个小函数只是在我定义的地图中查找当前组名,如果有"翻译",它会显示而不是实际名称.我在配置中使用的一些示例是:

(setq group-name-map '(("nnimap+uwindsor:INBOX" . "School-Inbox")
                       ("nnimap+uwindsor:[Gmail]/Starred" . "School-Starred")
                       ("nnimap+uwindsor:[Gmail]/Sent Mail" . "School-Sent")))
Run Code Online (Sandbox Code Playgroud)

使用alist非常好,因为无论如何我都可以创建映射,而不必使用正则表达式,模式等.