I’d like actual examples instead of “I work faster”, something like “I can move straight to the middle of the file with 7mv” or “I can keep 4 different text snippets in memory and paste each with a number+pt, like 2pt”, things that you actually use somewhat frequently instead of what you can do, but probably only did once.

You are viewing a single thread.
View all comments
11 points
*

Just being able to jump to the top of the file, bottom of the file, beginning or end of the line, or directly to a regex pattern match or particular character already gives me some of the same satisfaction as a video game with really tight movement controls. (I also like being able to jump to lines by number, manipulate lines by number or range, and I like being able to get to the top, bottom, or middle of the screen with one or two keypresses.)

In the same vein, deleting arbitrary lines at a time, performing external operations only on lines that match a particular pattern, and saving macro recordings of repetitive manual changes all feel like multiplicative powerups. Heck, incrementing and decrementing with ^a and ^x feels like one more little cheat code. Bouncing on parentheses with % makes structured files easy to get around in.

These are all things I’ve done with some regularity over the years.

permalink
report
reply
1 point
Deleted by creator
permalink
report
parent
reply
6 points

Bouncing on parentheses with % makes structured files easy to get around in.

That’s something I wasn’t aware you could do in vim. % jumps to the next parentheses character, whether ( or )? Does it work with brackets and curly braces too?

permalink
report
parent
reply
2 points

It generally works with a wide variety of delimiters. There’s a widely used plugin to make it work with even more, including language-specific keyword pairs.

permalink
report
parent
reply
4 points

Not just the next parenthesis that appears, It jumps to the matching one that opens or closes the one under the cursor. Hitting it repeatedly bounces back and forth around the text that pair of parentheses enclose.

It works not only with brackets and curly braces, but also with opening and closing tags in XML etc.

I feel like other editors must have an equivalent feature, though. I’d say the fact that vi can put such a specific action under just % rather than some nasty chord or mouse operation is what really makes it shine here.

permalink
report
parent
reply
6 points

So far as I’m aware, yes. As a C engineer, it’s also useful for jumping from #ifdef to #endif .

permalink
report
parent
reply

Ask Experienced Devs

!ask_experienced_devs@programming.dev

Create post

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

Community stats

  • 1

    Monthly active users

  • 41

    Posts

  • 417

    Comments

Community moderators