public
Last active

  • Download Gist
gistfile1.txt
1 2 3 4 5 6 7 8 9 10 11 12 13
In your editor of choice,
 
Convert the following line:
 
context "when the transaction is successful", :focused => true do
 
 
To:
 
context "when the transaction is successful" do
 
 
Assume the cursor is on the comma.

One way in Vim:

d/ d

(that's d slash space d enter)

Shorter: d3E, but you have to count the WORDs.

(It's also d4e, but counting words is harder than WORDS because you have to remember what characters are considered word breaks.)

I wonder if I could create a text object for this. daa = delete an argument. It seems like there would be quite a few uses for that.

Hmm. "da," might be more intuitive to me.

I like the d3E. Hadn't thought of that! I'll play with it and see. One advantage of using the / is that it highlights it so you know right where it's gonna delete up to. Even so, it's a case I run into a bunch so having d3E could be a winner. I haven't created a text object - this sounds like it could be pretty interesting.

Shortest in Emacs is probably: M-2 M-d which is 3 keypresses since you hold down the meta key and then type 2 d

Others:
M-4 M-z space
C-k space do

I'd probably do:
f,dtd

Well, assuming the cursor wasn't on the comma. Just wrote what sprang to mind.

Austin - I (like many people) use , as . I don't think that would confuse it, would it?

lojic - I dig it. Thanks!

jjthrash - dtd would delete up to the first d, right?

Shadowing is only a problem for prefixes. Since text objects are always prefixed with an action, they essentially have their own key space.

austin - excellent. I wonder if a plugin would be a good way to distribute it. Also wonder if your cool indent text object could be in a plugin to pull it out of my .vimrc.

D'oh. That's why I often use visual mode so I don't have to think. Counting words doesn't work.

I might also do:
dtd.
after I noticed I didn't actually delete to the d that I wanted. :) I love the period operator.

Jimmy - Yup. I use visual mode a bunch as well. I learned the / trick when deleting something on the same line from @spicycode. It's nice because it acts a bit like visual mode and works even if there's more than one of the thing you're looking for (since you can keep typing what you're looking at and it'll eventually be highlighted).

I haven't done much counting of things either, but I'm going to experiment with the WORD counting a bit since I haven't tried it. I'm wondering if my brain'll just know how many WORDS there are (when there's only a few).

My first pass at the text object: http://github.com/austintaylor/vim-commaobject

It handles the case you show (da, will work anywhere between the comma, and the end), but it's still pretty easy to confuse it with nested lists. There's a list of caveats in the readme.

NICE. Your indent object plugin helped me delete a ton of stuff. I love it.

http://github.com/duff/dot_vim_directory/commit/2cb175deaa1f6a6a10e0dad26292a0b6d4e59424

Austin - OK. The commaobject is outstanding. I just sent you a pull request.

@lojic even simpler:

M-d M-d

Thats 3 key presses too, meta held down

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.