Ebs package offers two ways for switching buffers in GNU Emacs/XEmacs, number indexed switch and cycle switch.
In number indexed switch, buffer names in current buffer list will be displayed in the echo area like this:
You can switch to whichever buffer you like by simply pressing the number before its name. Shortcut keys are provided for 2-bit numbers (, , …). The default key mapping is as the following:
 -> 0  -> q  -> w  -> e  -> o  -> p  -> a ...  -> .  -> /
Easy to remember and press?! What about the buffer named buffodd? Sorry, remember that you can ignore annoying buffers by setting them in
‘ebs-exclude-buffer-regexps’ so I don’t think you need to simultaneously edit more than 40 buffers. If you really need to the ability, crack this package yourself or cite more than three real examples to persuade me.
Then, what’s cycle switch and what the hell does it do?
Cycle switch is much alike the classic alt-tab in windows. That is, when you press the default key binding C-tab more than once, you will cycle the buffer list until arriving at your interested buffer, like this:
Press C-tab once:
buffa|buffb|buffc|buffd|buffe ~~~~~~~~ highlighted
Press C-tab twice:
Press C-tab the third time:
Cycle switch is essential because when you want to switch to buffers near the head of the buffer list, it is much more direct and convenient than number indexed switch.
NOTES: When you press C-tab more than once (consecutively), ebs will enter cycle switch mode. That means number indexed switch are temporarily disabled until you select your interested buffer and do something in it.
I design the behavior of ebs like this is because I think if you want to use number index switch, after you first press C-tab you SHOULD press the buffer number. If not, it indicates that you intend to cycle buffer. Am I right?
You can download ebs package from http://www.emacswiki.org/elisp/ebs.el
There are many todos in this package, and I haven’t finished it yet,
Put this file on your emacs load path and add the following three lines into your ~/.emacs startup file.
(require 'ebs) (ebs-initialize) (global-set-key [(control tab)] 'ebs-switch-buffer)