unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* how do i create keyboard shortcut to specific query-replace?
@ 2013-09-30 16:36 Hod b
  0 siblings, 0 replies; 3+ messages in thread
From: Hod b @ 2013-09-30 16:36 UTC (permalink / raw)
  To: Help-gnu-emacs

Hello
I've trying to create a keyboard shortcut that replace some query that i
have in many(!) files with similar query.
Example:

original code: 
foo( type => 'bar', action => 'execute bar' );
foo( type => 'baz', action => 'special action' );
foo( type => 'bat', action => 'yyyyy' );
foo( type => 'bar', action => 'bar finished' );


new code: 
bar( action => 'execute bar' );
baz( action => 'special action' );
bat( action => 'yyyyy' );
bar( action => 'bar finished' );

I don't want to do that automatically to all my files,
because it depend on projects that we are work at the company.
my regex to this problem is s/foo\(\s+type\s+=>\s+'(\w+)',\s+/$1( /g
but i don't know how to save it to .emacs

thanks for trying help me.



--
View this message in context: http://emacs.1067599.n5.nabble.com/how-do-i-create-keyboard-shortcut-to-specific-query-replace-tp298658.html
Sent from the Emacs - Help mailing list archive at Nabble.com.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: how do i create keyboard shortcut to specific query-replace?
       [not found] <mailman.3190.1380576360.10748.help-gnu-emacs@gnu.org>
@ 2013-10-01  0:48 ` Dan Espen
  2013-10-01 21:14 ` Peter
  1 sibling, 0 replies; 3+ messages in thread
From: Dan Espen @ 2013-10-01  0:48 UTC (permalink / raw)
  To: help-gnu-emacs

Hod b <hodbod@gmail.com> writes:

> Hello
> I've trying to create a keyboard shortcut that replace some query that i
> have in many(!) files with similar query.
> Example:
>
> original code: 
> foo( type => 'bar', action => 'execute bar' );
> foo( type => 'baz', action => 'special action' );
> foo( type => 'bat', action => 'yyyyy' );
> foo( type => 'bar', action => 'bar finished' );
>
>
> new code: 
> bar( action => 'execute bar' );
> baz( action => 'special action' );
> bat( action => 'yyyyy' );
> bar( action => 'bar finished' );
>
> I don't want to do that automatically to all my files,
> because it depend on projects that we are work at the company.
> my regex to this problem is s/foo\(\s+type\s+=>\s+'(\w+)',\s+/$1( /g
> but i don't know how to save it to .emacs
>
> thanks for trying help me.

With emacs, I've never found the need to write such complicated
search/replaces.

It's simpler to record a keyboard macro, name it, save it and
assign a key to it.

For the change you make above:

 foo( type => 'bar', action => 'execute bar' );
to
 bar( action => 'execute bar' );

move to before foo, start recording.
zap to ', forward word, type (,
zap to a, type space, a, move down a line
go to beginning of line, end recording.
Then name the macro, save it,
assign key.

-- 
Dan Espen


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: how do i create keyboard shortcut to specific query-replace?
       [not found] <mailman.3190.1380576360.10748.help-gnu-emacs@gnu.org>
  2013-10-01  0:48 ` how do i create keyboard shortcut to specific query-replace? Dan Espen
@ 2013-10-01 21:14 ` Peter
  1 sibling, 0 replies; 3+ messages in thread
From: Peter @ 2013-10-01 21:14 UTC (permalink / raw)
  To: help-gnu-emacs

create your keyboard macro, name it (`kmacro-name-last-macro' - bound to C-x C-k n), bind it to the key of your choice (`kmacro-bind-to-key' - bound to C-x C-x b), switch to your .emacs and then run 'insert-kbd-macro' with a numeric argument i.e. C-u M-x insert-kbd-macro (if you leave out the C-u then it will just insert the macro definition without the key binding code).

and the macro definition with a global-set-key sequence should be generated in your buffer. because you saved it in your .emacs it will be executed every time you start Emacs.

Hope this sounds like what you want :-)


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-10-01 21:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <mailman.3190.1380576360.10748.help-gnu-emacs@gnu.org>
2013-10-01  0:48 ` how do i create keyboard shortcut to specific query-replace? Dan Espen
2013-10-01 21:14 ` Peter
2013-09-30 16:36 Hod b

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).