File: isearchb.el.html
This module allows you to switch to buffers even faster than with
iswitchb! It is not intended to replace it, however, as it works
well only with buffers whose names don't typically overlap. You'll
have to try it first, and see how your mileage varies.
The first way to use isearchb is by holding down a modifier key, in which case every letter you type while holding it searches for any buffer matching what you're typing (using the same ordering scheme employed by iswitchb). To use it this way, add to your .emacs:
(isearchb-set-keybindings 'super) ; s-x s-y s-z now finds "xyz"
The other way is by using a command that puts you into "search" mode, just like with isearch. I use C-z for this. The binding in my .emacs looks like:
(define-key global-map [(control ?z)] 'isearchb-activate)
Now, after pressing C-z (for example), each self-inserting character thereafter will search for a buffer containing those characters. For instance, typing "C-z xyz" will switch to the first buffer containing "xyz". Once you press a non-self-inserting character (such as any control key sequence), the search will end.
C-z after C-z toggles between the previously selected buffer and the current one.
C-g aborts the search and returns you to your original buffer.
TAB, after typing in a few characters (after C-z), will jump into iswitchb, using the prefix you've typed so far. This is handy when you realize that isearchb is not powerful enough to find the buffer you're looking for.
C-s and C-r move forward and backward in the buffer list. If
isearchb-show-completions is non-nil (the default), the list of
possible completions is shown in the minibuffer.
If isearchb-idle-timeout is set to a number, isearchb will quit
after that many seconds of idle time. I recommend trying it set to
one or two seconds. Then, if you switch to a buffer and wait for
that amount of time, you can start typing without manually exiting
isearchb.
TODO:
C-z C-z is broken
killing iswitchb.el and then trying to switch back is broken
make sure TAB isn't broken
Defined variables (2)
isearchb-idle-timeout | Number of idle seconds before isearchb turns itself off. |
isearchb-show-completions | If non-nil, show possible completions in the minibuffer. |
Defined functions (6)
isearchb | () |
isearchb-activate | () |
isearchb-follow-char | () |
isearchb-iswitchb | () |
isearchb-set-keybindings | (MODIFIER) |
isearchb-stop | (&optional RETURN-TO-BUFFER IGNORE-COMMAND) |