Emacs: isearch Current Word ๐
Here's a command to isearch the word under cursor.
(defun xah-search-current-word () "Call `isearch' on current word or text selection. โwordโ here is A to Z, a to z, and hyphen ใ-ใ and underline ใ_ใ, independent of syntax table. URL `http://xahlee.info/emacs/emacs/modernization_isearch.html' Version 2015-04-09" (interactive) (let ( $p1 $p2 ) (if (use-region-p) (progn (setq $p1 (region-beginning)) (setq $p2 (region-end))) (save-excursion (skip-chars-backward "-_A-Za-z0-9") (setq $p1 (point)) (right-char) (skip-chars-forward "-_A-Za-z0-9") (setq $p2 (point)))) (setq mark-active nil) (when (< $p1 (point)) (goto-char $p1)) (isearch-mode t) (isearch-yank-string (buffer-substring-no-properties $p1 $p2))))
You need to give it a easy key. Such as F8. [see Emacs: Define Keybinding]
Also, you should set your isearch repeat to arrow keys. Emacs: isearch by Arrow Keys.
Problem with Emacs's isearch
Emacs's โisearchโ has some problems. Suppose you have this line:
โฆ aa-bb-โฎcc xx yy โฆ
and your cursor is on the second dash. You want to search the next occurrence of the word โaa-bb-ccโ. You have to press Alt+b Alt+b Ctrl+s Ctrl+w Ctrl+w Ctrl+w Ctrl+s. That's about 8 keys. In vim, it's just a single key press *.
addendum: Emacs 24.4 has the new command isearch-forward-symbol-at-point
that improved the situation but still pretty bad.
Now to search current word under cursor, you need to press Alt+s . Alt+s _ Ctrl+s. [see
Emacs: Search Text in Current File] Besides the too-many-keys problem, this command has more problems:
isearch-forward-symbol-at-point
is on โsymbolsโ only. What chars are part of โsymbolโ is unpredictable, mode-dependent.- The search is with boundary check. That is, if current symbol is โxxโ, it'll will not find occurrences of โxx2โ.
Emacs Find Replace
Emacs Modernization
- Emacs Modernization: Simple Changes Emacs Should Adopt
- Why Emacs Keys are Painful
- Emacs: Problems of the Scratch Buffer
- Emacs M-key Notation vs Alt+key Notation
- Emacs Menu Usability Problem
- Emacs Mode Line Problem
- Emacs cua-mode Problems
- Emacs: Inconsistency of Search Features
- Problems of grep in Emacs
- Emacs: Usability Problems of Mode Documentation
- Problems of Emacs Manual
- Emacs Manual Sucks by Examples
- Emacs: kill-buffer Induces Buffer Accumulation
- Emacs Spell Checker Problems
- Emacs Form Feed ^L Problems
- Emacs: Single Key to Delete Whole Line
- Emacs HTML Mode Sucks
- Emacs Does Not Support Viewing Images Files In Windows
- Emacs Should Adopt HTML as Texinfo Replacement
- Emacs Should Support HTML Mail
- Problems of Emacs's โmanโ Command
- Emacs Lisp Mode Syntax Coloring Problem
- Emacs AutoHotkey Mode Problems
- Emacs Lisp: Ban Syntax Table
- Emacs: Make elisp-index-search use Current Symbol
- Emacs GNU Texinfo Problems; Invalid HTML
- A Record of Frustration in IT Industry; Disappearing FSF URLs, 2006
- Emacs Manual Node Persistency Issues
- Emacs: dired-do-query-replace-regex Replace ALL (fixed)
- Problems of Emacs Supporting Obsolete Systems
- Emacs Lisp: Function to Copy/Delete a Dir Recursively (fixed)
- Thoughts on Common Lisp Scheme Lisp Based Emacs
- Text Editors Popularity and Market Research
- Text Editor's Cursor Movement Behavior (emacs, vi, Notepad++)
- Emacs: Toggle Letter Case ๐
- Emacs: Select Line, between Quotes, Extend Selection ๐
- Emacs: isearch Current Word ๐
- Emacs fill-paragraph Problem