Emacs: Search Text in Current File

By Xah Lee. Date: . Last updated: .

This page shows you how to use search and highlight features in emacs.

The most useful one is “isearch”.

isearch-forwardCtrl+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.
emacs isearch 2021-07-20
emacs isearch

How to make case sensitive in isearch?

By default, search is Case-Insensitive 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 words to the right of cursor.

The following commands do isearch but uses the word the cursor is on, saves you typing.

isearch-forward-symbol-at-pointAlt+s .
Search the “symbol” under cursor, with boundary check.

Boundary check means, if current word or symbol is “xy”, it will not find “xy2”.

isearch-forward-wordAlt+s w
Search the word under cursor, with boundary check.

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 slightly different in different Major Modes .

isearch-forward-symbolAlt+s _
Same as isearch but with boundary check.

isearch Keys/Modes

isearch has many complex features. You can read about them by:

emacs isearch-describe-mode 2023-10-16
emacs isearch-describe-mode 2023-10-16

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]

Emacs Find Replace