Most of you might know already but I just found out about this today because I needed it. I had thought there’s just no way to use escape in norm commands. So I had this file with list of items which were mostly separated by newlines but some of them were separated by spaces so I had to clean it up. It looked something like this:

begin A
begin B begin C
begin D
begin E begin F begin G
begin H

and I needed it to be like this:

begin A
begin B
begin C
begin D
begin E
begin F
begin G
begin H

The beginning of every item was the same string of characters which was helpful. So I had an idea but it required the use of escape in a norm command. I was about to think of some other way that doesn’t require escape but then decided to google it and find out if there was a way to use escape. To my surprise it was possible! Why I haven’t thought of this before? So this is what I came up with:

:g/.*begin/norm /begin^[hr^M

So the ^[ is an escape and you get it with C-v Esc. Simple as that. The command to organize my list isn’t perfect though as it has to be run few times to go through every item but it was enough for my purposes.

TL;DR: Press C-v Esc in command line mode to get escape.

  • sorrybookbroke@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 个月前

    Oh wow I hadn$)'t thought about using them together like that. I think I’ll start using the command quite a bit more to bridge the ‘find next placement’ step. Though, I was just using a search before the recording and ‘n’ to get the next occurance the norm command sticks it in my command history