From: Francis Belliveau <f.belliveau@comcast.net>
To: Sam Halliday <sam.halliday@gmail.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: pushing and popping the mark
Date: Sat, 9 May 2015 08:49:48 -0400 [thread overview]
Message-ID: <D6717BFB-2D9A-4633-8054-A7079C9D9F2C@comcast.net> (raw)
In-Reply-To: <1e6c5c11-44fe-4b97-bef0-20149b34619b@googlegroups.com>
Sam,
First let me say that emacs is so engrained in my finger tips that I find it difficult to decipher keystroke speak. I do not have time to try your keystrokes to get the fill feel of what your are doing.
Although I do not fully follow what you are doing, two things come to mind.
First would C-X C-X (swap point and mark) rather than C-U C-Space (pop mark) to help reduce things a little. It is certainly easier to type.
Second, whenever I have something repetitive like this to do, I usually define a temporary keyboard macro to help out. You just need to be creative about where in the process the macro starts and ends.
I would think something like:
1. Position curser at yank location.
2. C-Space to mark the location
3. Position curser at start of cut location.
4. Mark and select text to be cut.
5. C-X( to start keyboard macro.
6. C-W to cut the text
7. C-X C-X to swap to paste location
8. C-Y to yank the text
9. C-X) to end keyboard macro.
Now you have.
A. Perform the first 4 steps.
B. C-Xe to execute the macro.
As opposed what I see as your 7 steps, this takes 9 steps the first time, then 5 steps for every repeat after that.
Not much of a savings, but with a lot of repeats it does helps and it certainly gets around the finger tangles.
The one that I use a lot is to paste something at the beginning of a line like when turning an enumerated list into a switch statement:
After priming the pump with a "M-W C-E :” I create a macro that looks something like:
C-N C-A C-Y C-E:
Fran
> On May 9, 2015, at 7:30 AM, Sam Halliday <sam.halliday@gmail.com> wrote:
>
> To answer my own question, with an alternative, below:
>
> On Saturday, 9 May 2015 12:18:39 UTC+1, Sam Halliday wrote:
>> I have found myself doing some repetitive editing recently that I am sure can be optimised.
>>
>> Let's say I have a chunk of existing text (in the middle of the buffer), and a bunch of new text (at the bottom of the buffer) with bits of text that I want to selectively kill and then yank into the existing text.
>>
>> So the workflow looks like this:
>>
>> 1. go to "new text", kill some relevant text
>> 2. go to "existing text", yank
>> 3. repeat
>>
>>
>> In terms of keys strokes this means:
>>
>> 1. `C-U SPACE` (now near relevant "new text") then unavoidable manual keystrokes to select/kill
>> 2. `C-SPACE C-SPACE`, then `C-U SPACE` (does nothing) to add this location to the mark ring and ignore that mark in the ring.
>> 3. `C-U SPACE` (now near relevant "existing text") then unavoidable manual keystrokes to yank
>> 4. `C-SPACE C-SPACE`, then `C-U SPACE` (does nothing) to add this location to the mark ring
>>
>> Actually, my fingers can confused and end up just using pageup/down :-/
>>
>> Obviously, steps 2 and 4 are undesirable. Is there a single command that I can perform to effectively save the current point, then go to the second mark in the mark ring?
>
>
> The workflow can also be optimised by opening a second frame into the same buffer. That helps a lot because `C-x o` then jumps to approximately the locations where I was wanting to set the marks anyway. However, it then requires me to split my screen... which is sometimes not ideal.
next prev parent reply other threads:[~2015-05-09 12:49 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-09 11:18 pushing and popping the mark Sam Halliday
2015-05-09 11:30 ` Sam Halliday
2015-05-09 12:49 ` Francis Belliveau [this message]
[not found] ` <mailman.2663.1431175800.904.help-gnu-emacs@gnu.org>
2015-05-09 21:08 ` Sam Halliday
2015-05-09 21:15 ` Drew Adams
[not found] ` <mailman.2680.1431206116.904.help-gnu-emacs@gnu.org>
2015-05-09 22:04 ` Sam Halliday
2015-05-09 21:47 ` Emanuel Berg
2015-05-09 22:11 ` Sam Halliday
2015-05-09 22:34 ` Emanuel Berg
2015-05-10 0:02 ` Drew Adams
[not found] ` <mailman.2683.1431216187.904.help-gnu-emacs@gnu.org>
2015-05-10 1:59 ` Emanuel Berg
2015-05-10 13:41 ` Jude DaShiell
-- strict thread matches above, loose matches on Subject: below --
2015-05-09 15:03 Jude DaShiell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=D6717BFB-2D9A-4633-8054-A7079C9D9F2C@comcast.net \
--to=f.belliveau@comcast.net \
--cc=help-gnu-emacs@gnu.org \
--cc=sam.halliday@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.