Wanderlust + Gmail IMAPのお勧め設定

先日に引き続き、Wanderlust + Gmail IMAPのお勧め設定です。.wlに追記することで、動作するようになります。

WanderlustからSPAM判定

Spam指定は、%[Gmail]/Spamフォルダへの移動、ということなので、Gmailのショートカットと同じく"!"でSpam指定できるようにしてみました。"!"は、もともと未読に戻るという機能だったのですが、それはM-uに移動させてみています。

(defun st-wl-summary-refile-spam ()
  (interactive)
  (wl-summary-refile (wl-summary-message-number) "%[Gmail]/Spam")
  (wl-summary-next))
(define-key wl-summary-mode-map "!" 'st-wl-summary-refile-spam)
(define-key wl-summary-mode-map "\M-u" 'wl-summary-mark-as-unread)

Gmail全体を検索

Gmailといえば、高速な検索。Wanderlustからもその高速性を生かしたいものです。Wanderlustでは、フィルタフォルダと呼ばれる仮想的なフォルダで検索を実現しています。

同じくGmailに合わせたショートカット"/"で、minibufferに出てくるプロンプトに検索ワードを入れることで、全メールが検索されるようになります。いろいろ絞りたい場合は、そこからフォルダ名を変更してください。

ちなみに、検索はそれなりに重いので、ぱっと検索したい場合は、普通にウェブからするのがお勧めです。あと、Wanderlustとの相性のせいか、結果がいつまでたっても表示されないことがありますが、Ctrl+Gで中止すると、結果が表示されるようになります。

(defun st-wl-summary-gmail-search ()
  (interactive)
  (setq word (concat "\"" (read-from-minibuffer "Gmail Search Word: ") "\""))
  (setq keys '("body" "tocc" "subject" "from"))
  (setq res "")
  (while (not (null keys))
    (setq key (car keys))
    (setq keys (cdr keys))
    (setq res (concat res key ":" word (if (null keys) nil "|")))
    )
  (wl-summary-goto-folder-subr (concat "/(" res ")/%[Gmail]/All Mail")
  nil nil nil t)
)
(define-key wl-summary-mode-map "/" 'st-wl-summary-gmail-search)