help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: customize isearch-repeat-forward


From: Mathias Megyei
Subject: Re: customize isearch-repeat-forward
Date: Fri, 14 Sep 2007 08:36:30 +0200

On Thu, 2007-09-13 at 21:03 -0500, peter hodgson wrote:
> 'M-x version' yields:
> GNU Emacs 22.1.1 (i486-pc-linux-gnu, GTK+ Version 2.10.11) of 2007-08-14
> on palmer, modified by Ubuntu 
> ---------------------
> 
> fellow emaculates; the pleasure of your company these past weeks has
> prompted me to refine some of my customizations;
> 
> here's what my .emacs used to say about isearch:
> 
> (global-set-key "\ee" 'isearch-forward)

isearch-forward is already bound to C-s. Do you need a different 
binding too? Did you look the output of C-h k C-s?
                                   
> (global-set-key "\C-f" 'isearch-repeat-forward)   

Default binding for that is: C-s C-s

> (global-set-key "\e'" 'isearch-exit)                                          
>   
> (global-set-key "\e3" 'isearch-backward)                                      
>   
> (global-set-key "\e2" 'isearch-repeat-backward)                               
>   
> 
> everything worked fine; then i changed one line:
> 
> (global-set-key "\er" 'isearch-repeat-forward)
> 
> and now all hell's broken loose;
> 
> it starts out fine:
> 
> when i press <M-e>, i get "I-search:", so i type "key"; all occurences
> of 'key' are highlighted, and the cursor is at the end of the first
> occurence;

With <M-e> you have switched to isearch mode. (You should
see the string "Isearch" in the mode line.)
In isearch mode the key bindings from isearch-mode-map will 
overwrite the global bindings.

> then i press <M-r>; 
> 
> instead of having the cursor move to the next occurence of 'key', it
> stays where it was, and i get this message:
> 
> "Pending regexp I-search: key"
> 
> when i press <M-r> again, i get:
> 
> "Pending I-search: key"

In isearch-mode-map <M-r> is bound to (quoted from C-h k C-s): 
...
Type M-r to toggle regular-expression mode.
...

> BUT IF i press <Enter> after i type in "key", or after i get either of
> the 'Pending...' messages, THEN 

Pressing <Enter> you exited from isearch mode. Hence ...

> when i press <M-r> it moves the cursor
> through the occurences of 'key', in other words, isearch-repeat-forward;

... your key binding from global-map is working as expected.

> i've been eating lots of steak lately, to facilitate healing a wound;
> does this .emacs difficulty suggest my karma been compromised? or is
> there a lisp solution?

The latter I think. If you would like to change the key bindings 
for isearch mode you have to change isearch-mode-map instead of 
the global map.

Regards,

Mathias






reply via email to

[Prev in Thread] Current Thread [Next in Thread]