8

グループの名前を実際に変更せずに、GNUS で表示されるグループの名前を変更する方法はありますか? IMAP サーバーからメールを読みましたが、グループ名がかなり醜いです (例: nnimap+uwindsor:INBOX)。コマンドを使用してみgnus-group-rename-groupましたが、実際のサーバーで名前を変更しようとしました。グループバッファをもう少し読みやすくするために、実際の名前をローカルの表示名に単純にマップする方法はありますか?

4

1 に答える 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")))

正規表現やパターンなどに頼ることなく、好きなようにマッピングを作成できるため、連想リストだけを使用すると便利です。

于 2014-03-03T16:37:19.333 に答える