BuffersMisc

Some of these things can be done already via file groups, etc. but here are some easy things to use:

(defun search-buffers (str)
  (interactive "sregex:")
  (let
      ((pt)
       (buf))
    (foreachbuffer
         (goto-char 0)
         (let
             (
              (dosearch (lambda  () (if (re-search-forward str nil t)
                                        (progn (setq pt (point))
                                               (setq buf i)
                                      (case (read-char "(c)ontinue (q)uit (n)ext buffer:")
                                        (?n nil)
                                        (?q (error "done."))
                                        (t (funcall dosearch)))))))
              )
           (funcall dosearch))))
    (if pt
        (progn 
          (switch-to-buffer buf)
          (goto-char pt))
        ))

Kill buffers whose names match a pattern, useful with BuffernameTags

(defun kill-buffers (regex)
  "kill all buffers matching some predicate"
  (interactive "sregex:")
  (foreachbuffer
   (if (and (buffer-file-name) (string-match regex (buffer-file-name)))
       (progn
         (kill-buffer (current-buffer))))))

CategorySearchAndReplace