emacs: Symbol Search

 
 15.4 Symbol Search
 ==================
 
 A “symbol search” is much like an ordinary search, except that the
 boundaries of the search must match the boundaries of a symbol.  The
 meaning of “symbol” in this context depends on the major mode, and
 usually refers to a source code token, such as a Lisp symbol in Emacs
 Lisp mode.  For instance, if you perform an incremental symbol search
 for the Lisp symbol ‘forward-word’, it would not match
 ‘isearch-forward-word’.  This feature is thus mainly useful for
 searching source code.
 
 ‘M-s _’
      If incremental search is active, toggle symbol search mode
      (‘isearch-toggle-symbol’); otherwise, begin an incremental forward
      symbol search (‘isearch-forward-symbol’).
 ‘M-s .’
      Start a symbol incremental search forward with the symbol found
      near point added to the search string initially.
 ‘M-s _ <RET> SYMBOL <RET>’
      Search forward for SYMBOL, nonincrementally.
 ‘M-s _ C-r <RET> SYMBOL <RET>’
      Search backward for SYMBOL, nonincrementally.
 
    To begin a forward incremental symbol search, type ‘M-s _’ (or ‘M-s
 .’ if the symbol to search is near point).  If incremental search is not
 already active, this runs the command ‘isearch-forward-symbol’.  If
 incremental search is already active, ‘M-s _’ switches to a symbol
 search, preserving the direction of the search and the current search
 string; you can disable symbol search by typing ‘M-s _’ again.  In
 incremental symbol search, only the beginning of the search string is
 required to match the beginning of a symbol.
 
    To begin a nonincremental symbol search, type ‘M-s _ <RET>’ for a
 forward search, or ‘M-s _ C-r <RET>’ or a backward search.  In
 nonincremental symbol searches, the beginning and end of the search
 string are required to match the beginning and end of a symbol,
 respectively.
 
    The symbol search commands don’t perform character folding, and
 toggling lax whitespace matching (Seelax space matching Lax Search.)
 has no effect on them.