Hacker News new | ask | show | jobs
by zahlman 21 days ago
> a class of user who enjoys learning all of these “extra” features, even though they ultimately provide less value than the core features.

I don't think this was actually established. The author may have a point about the UX of multiple cursors in Sublime, but comparing that to Vim macros is missing the point of the macro system — i.e. that you can create something that persists between editing sessions, and encapsulate a sequence of steps even of fundamentally different kinds. (For example, do multiple cursors allow you to implement a new command to transpose elements of a comma-separated list?) More importantly, though, this is not addressing the general principle about "extra features".

I haven't known other Vim users to speak of such "games".

1 comments

Yeah I think this is all coming from someone who never got good at vim.

Multi-cursors can be nice, but a sufficiently powerful implementation of that looks like helix or kakoune, and those are at least as complex as vim, if not more.

When you're good at vim, it is invisible. Once you're good at writing macros, you can do stuff which is impossible with Sublime-style multi cursors.

I assume those are situations where the author would have "just written a quick script," but vim macros are an interactive scripting language specifically designed to tersely express text transformations. Your script is never going to be quicker than that.

I'm not saying this as a vim partisan or anything. You could easily argue that vim over-optimizes and saves little time in the grand scheme—that's a fair critique. But it's strange to insist that complex tools are complex only for the sake of complexity. It's a weirdly conspiracist mindset.

> but vim macros are an interactive scripting language specifically designed to tersely express text transformations

Yes, I think this is important here. Although it's still hard for me to imagine a level of mastery where one deliberately "writes" macros (what, directly in the vimrc?) as opposed to recording them. Perhaps it's within my grasp to optimize them later, but.

All that said, there are quite a few things I don't like about Vim even though the overall editing model clicks with me, and ideas I've had for something I'd like better. Although I guess I really should check out alternatives before running my mouth about that…

> a level of mastery where one deliberately "writes" macros (what, directly in the vimrc?)

Oh it's so simple you'll kick yourself. If you save the macro to the q register, just paste from the q register and it'll print out the corresponding inputs. Copy the inputs into the w register and now you have that macro saved in a second place.

Some people probably do save macros in their vimrc this way, but I use it to correct typos I made when recording the macro. BIG help.

> but I use it to correct typos I made when recording the macro.

Oh you mean like, now that you have the keystrokes inserted into the current document temporarily, edit and move back to a register?

Exactly. Modifier sequences and escape presses show up as special characters and can be inserted with `C-v Esc` or whathaveyou. It works seamlessly.