0

Lets suppose I would like to edit my text and to add comments to the column in the text. This is my text:

something-text1  foobar1 something-text1
something-text2  foobar2 something-text2
---
something-textn  foobarn something-textn

I want to add comments just after the words foobar. I do the following: (|| is cursor):

||foobar1

M-x kmacro-start-macro-or-insert-counter M-x forward-word

;; comment

M-x backward-word M-x next-line M-x kmacro-end-or-call-macro

Now I can repeat this keyboard macro on every line with the word foobar with
M-x kmacro-start-macro-or-insert-counter or C-u kmacro-start-macro-or-insert-counter and apply the command times.

I would like to do the same with rectangle-mark. I would like to make
region with C-x SPC C-u ะก-n:

something-text1  ||foobar1 something-text1
something-text2  ||foobar2 something-text2
---
something-textn  ||foobarn something-textn

Then I eval M-x kmacro-end-or-call-macro, but it doesn't work in the way it works with help of above-mentioned command.

How can I apply a keyboard macro to every line that starts with rectangle mark region?

Drew
  • 75,699
  • 9
  • 109
  • 225
Pfedj
  • 308
  • 2
  • 11

1 Answers1

1

I'm not sure if you can do this with rectangular regions, but it's a perfect situation for multiple cursors:

Fundamentals of multiple-cursors

https://github.com/magnars/multiple-cursors.el

In your case, starting with point before foobar1, call M-x set rectangular-region-anchor, navigate to the next line until you have a point before every foobar. Then forward-word moves all of your cursors to the end of foobarN, and you can enter the text you want.

Lots of options and variants to consider, see the links.

Tyler
  • 21,719
  • 1
  • 52
  • 92