I want to replace a character inside a word, so I wrote:
(setq regexp "[ab]")
(and (re-search-backward regexp nil t 1)
(replace-match "c"))
This replaces a
or b
to c
as I wish, but I want to set a bound of it.
There is a BOUND
option with re-search-backward
.
How can I make the match only a word that is under the current cursor?
Thanks for @jackson I can write the function, but still it doesn't work properly.
(setq regexp ".*[ab].*")
(defun test-it ()
(interactive)
(save-excursion
(save-restriction
(narrow-to-region (progn (backward-word) (point))
(progn (forward-word) (point)))
(and (re-search-backward regexp)
(replace-match "c")))))
Thins function replaces ab
to ac
and ad
to cd
as I expected, but it doesn't replace ac
to cc
. Why?
ma -> mǎ
. So I want to replaceaāáà
toǎ
by a function. I can write it separatey by using("a" "ǎ") ("ā" "ǎ") ("á" "ǎ") ("à" "ǎ")
. But I thought it is a bit redundant.set-input-method
andtoggle-input-method
?ma*
tomǎ
,ma-
tomā
,ma`
tomà
, and so on.