News for hackers. Stuff that matters.
Re:Vim is touch-typing on steroids by kqr on Friday January 13, 2023 @01:40AM (#34364647)
Yes, but does it work the same way in Shell scripts, Ada, Haskell, Perl, Python, C#, screenwriting, and documentation?

The power of text-based manipulation is that you don't have to learn a different set of hotkeys for different types of material.

Re:Vim is touch-typing on steroids by probablynish on Friday January 13, 2023 @01:51AM (#34364711)
IntelliJ (the canonical JetBrains IDE) has plugins for the first 6 of those - so at least for those, it does work the same way. The hotkeys to perform the actions mentioned in the parent comment don't change.
Re:Vim is touch-typing on steroids by kqr on Friday January 13, 2023 @02:44AM (#34364995)
TIL! There weren't so many language plugins last time I tried it, so I felt like I had to drop back into Emacs/Evil fairly often. Good to know that's not as much the case anymore!
Re:Vim is touch-typing on steroids by 5e92cb50239222b on Friday January 13, 2023 @02:00AM (#34364759)
Yes, and also in CSS, SQL, ocaml, Rust, and a million other languages. Navigation works reliably (including cross-language navigation: for example, you can easily jump from a CSS class mentioned in HTML or JSX to its definition even if it's has a very generic name and is defined in a random file far away). Even if it has a complicated definition using something like SCSS and is simply not greppable.

Or do the reverse — find all usages of a CSS class from its definition (again: do so reliably, it's not a simple grep).

Find all references to a particular database column (in SQL queries across the project, foreign keys in other database tables, and ORM models)? Same hotkey.

Stuff like code selection works reliably since IDE work with code on an AST level and you're asking it to select the current AST node (and not the "current text block"), going up the tree as needed.

And so on.

Re:Vim is touch-typing on steroids by p-e-w on Friday January 13, 2023 @02:09AM (#34364809)
> The power of text-based manipulation is that you don't have to learn a different set of hotkeys for different types of material.

And the weakness of text-based manipulation is that it views code as characters rather than as semantic data.

Modern IDEs either have their own semantic code operations, or use language servers to actually understand the code rather than just work with character strings. This is vastly more reliable when doing refactoring or project-wide navigation. Text-based approaches are a crude hack by comparison.

Re:Vim is touch-typing on steroids by probablynish on Friday January 13, 2023 @02:54AM (#34365055)
Would you say that a vim plugin in your IDE of choice gives you the best of both worlds? The superior semantic manipulation of an IDE and the superior text manipulation of vim.
Re:Vim is touch-typing on steroids by rhaway84773 on Monday January 16, 2023 @08:44PM (#34408164)
IDEs are incredibly slow. Even the fastest IDEs.
Re:Vim is touch-typing on steroids by fileeditview on Friday January 13, 2023 @06:41AM (#34366492)
In Vim you also have plugins that provide you with semantic editing (e.g. via LSPs). You then have it both.. same as if you installed a Vim plugin in your IDE. The only difference being that the IDE is slow and has a multitude of features that I don't need whereas Vim is configured to exactly my needs and has instant response always.