News for hackers. Stuff that matters.
Re:Vim Language, Motions, and Modes Explained (2023) by sgarland on Thursday April 24, 2025 @07:36AM (#43781483)
The single most intuitive ah-ha moment I’ve had in Vi was the change verb. Change In <object>: ci( means “change the text within parentheses.” Change unTil <object>: ct& means “change the text until an ampersand.” And so on. It just makes sense.

VSCode never had moments like that for me. It’s fine, sure, but it wasn’t anything special.

Re:Vim Language, Motions, and Modes Explained (2023) by tgv on Thursday April 24, 2025 @03:41PM (#43786680)
No, it isn't, but that's perhaps the point: it's so direct. It rarely gets in the way. Sure, some things are easier done in emacs, but that's when you just copy the text to emacs, do your thing, and copy it back.

What VSCode isn't, is elegant. I think the OP likes that very much, and VSCode has forsaken that in favor of simplicity and a kind of free-for-all extension mechanism.

Re:Vim Language, Motions, and Modes Explained (2023) by Izkata on Thursday April 24, 2025 @11:50PM (#43789952)
You may love to learn then: Those aren't part of change.

"i(" is a selector (see ":help object-select"), and it also works with "y" or "d" or even in visual mode. Likewise "t" is a movement that can even be used on its own.

There's also a sibling to "i", "a", that includes the delimiter used, and "t" is a valid delimiter for HTML or XML tags.