Emacs: Search Text in Current File
This page shows you how to use search and highlight features in emacs.
The most useful one is “isearch”.
- Alt+x
isearch-forward
【Ctrl+s】 -
Interactive search text in current buffer.
While in isearch prompt:
- Ctrl+s → Jump to next occurrence
- Ctrl+r → Jump to previous occurrence.
- Ctrl+g → Exit and place cursor at original position.
- Enter → Exit and place cursor at current position.

How to make case sensitive in isearch?
By default, search is not case sensitive unless your search string contains Capital Letter.
While in isearch, press Alt+s c to toggle search case-sensitivity.
Or, Alt+x toggle-case-fold-search
before isearch. Remember to toggle it back.
Search Word Under Cursor
While in isearch, press Ctrl+w to select more strings to the right of cursor.
The following commands do isearch but uses the word the cursor is on, saves you typing.
- Alt+x
isearch-forward-symbol-at-point
【Alt+s .】 - Search the “symbol” under cursor, with boundary check.
- Alt+x
isearch-forward-word
【Alt+s w】 - Search the word under cursor, with boundary check.
- Alt+x
isearch-forward-symbol
【Alt+s _】 - Same as isearch but with boundary check.
Note:
- Boundary check means, if current word or symbol is “xy”, it will not find “xy2”.
- Emacs “word” usually means alphanumeric with hyphen. “symbol” means programing language's identifier. Whether LOW LINE _ or HYPHEN-MINUS - is part of “symbol” or “word” depends on current syntax table, which is usually different in different major modes.
isearch Keys/Modes
isearch has many complex features. You can read about them by:
- Alt+x
isearch-describe-mode
- Alt+x
isearch-describe-bindings
I don't recommend using them because they are very complex. If you need regex search, use
Alt+x list-matching-lines
[see Emacs: List/Delete Matching Lines]