Incremental Search Help
Name:Incremental Search
Version:1.3
Last update:2019-08-07 11:33:56






This always-on extension package implements incremental searching in the active window. Incremental searches bypass the normal search dialog and search for the current text after each keystroke. The result is often much faster and less intrusive.
Alpha provides two interfaces for performing incremental searches:

Incremental searches from the Find Bar

These incremental searches are performed using the Find Bar. The Find Bar can be displayed for any window using the Search ↣ Show Find Bar item. To enable or disable incremental searches for the current window, use the Search ↣ Turn Incremental On or Search ↣ Turn Incremental Off items respectively.
To escape or stop a search, press Return, any of the arrow navigation keys, or the Page Up/Down/etc document navigation keys.

Incremental searches from the Status Bar

These incremental searches are invoked by selecting Search Quick Find or Search ↣ Reverse Quick Find in the Search menu. If you press the option () key, the item Search ↣ Quick Find is changed into Search ↣ Quick Find Regexp and allows to perform incremental searches using regular expressions.
Start the search by selecting the menu item or by pressing its keyboard shortcut, then start typing the word you are searching for. After each letter you've typed Alpha jumps to the nearest point in the text matching what you have typed so far. The search string is also displayed in the status bar and is updated as you type new characters.
Typing Control-S (⌃S) or Control-R (⌃R) again while an incremental search is in progress causes the search to proceed to the next instance of the current text. Typing Control-W (⌃W) while incremental search is active causes all the characters to the end of the next word boundary to be added to the search.
Pressing the Delete key, or clicking on the window with the mouse will remove the most recent keystroke from the search pattern, and back up the search to the most recent find, acting as an internal Undo command while searching incrementally.
The following sections explain the keyboard shortcuts are also available during interactive searches. Some of the bindings below are available only if the Emacs package is active: they are indicated specifically in the third column.

Matches Navigation

NameShortcutEmacsDescription
Next MatchCommand-G (⌘G)Control-S (⌃S)closest occurrence after current match
Previous MatchCommand-Shift-G (⇧⌘G)Control-R (⌃R)closest occurrence before current match

Text Navigation

NameShortcutEmacsDescription
Forward Char Right-Arrow (Right)Control-F (⌃F)aborts and leaves cursor after last match
Backward Char Left-ArrowControl-B (⌃B)aborts and leaves cursor before last match
Beginning Of Line Command-Left-ArrowControl-A (⌃A)aborts and moves cursors to the start of the line containing the last match
End Of LineCommand-Right-ArrowControl-E (⌃E)aborts and moves cursors to the end of the line containing the last match
Center RedrawControl-L (⌃L)moves selection to center, without aborting
Insert To Top Control-T (⌃T)moves selection to top, without aborting
Add TextControl-W (⌃W)add the rest of the current word to the search string

Text Manipulation

NameShortcutEmacsDescription
Delete Selection Control-D (⌃D)aborts and deletes selection
Kill Line Control-K (⌃K)aborts and deletes from start of selection to end of line

Changing the matching type

DescriptionShortcut
Switch the case-sensitivity of the current searchControl-I (⌃I)
Toggle interpretation of \n,\r,\t in non-regexp searches⌃-Backslash
No other menu items can be invoked during incremental searches.

Known problems

Please report any problem or bug you encounter to Alpha's Bug Tracker.

License and Disclaimer

Copyright (c) 2001-2019, the Alpha Community.
All rights reserved.
The incrementalSearch package is free software and distributed under the terms of the new BSD license:
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ALPHA COMMUNITY BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.