ISWITCH! We all need this emacs package, called iswitch.el, which makes switching buffers with C-x b infinitely faster and more efficient. It uses telepathy and telluric currents to help you decide exactly what buffer you want to look at next. It will shock you, it will amaze you. Now, when you press C-x b to switch buffers, a list of all possible buffers will appear, with the currently active one highlighted in blue. You can move forward and backward through this list with C-s and C-r. Now, if you type a few characters, iswitch mode will only show you files that match that pattern.
So, here download the lisp code and install it. I use the following in my .emacs file
(autoload 'iswitchb "iswitchb" "Run iswitchb" t)
(setq read-buffer-function 'iswitchb-read-buffer)
(setq iswitchb-default-method 'samewindow)