When claims like this are made, I'm skeptical people have retrained their minds such that "press this combination of keys repeatedly until the cursor is where you want it to be" is easier and more accurate than "mentally count the number of word boundaries your cursor is away from where you want it to be, then enter the command to get it there".
I don't disagree that vim's movement commands have greater precision, but I find it hard to believe that that precision is actually useful in practice.
EDIT: Oh, my bad, you specifically called out that efficiency is not the actual goal. In which case - yes, for "feeling like a badass", I am wholly on-board :)
Mentally counting words to move your cursor to right spot isn't a great way to move horizontally. I would usually do something like "/someVariable" and hop my cursor to the exact spot I'm looking for. If it's further in the line, just hit "n". It's pretty fast. But if you just need to move one word over w and b are nice.
Even with vertical movement I never count lines. Relative line numbers make it so you don't have to. Counting is not part of my vim experience.
People who never master vim will never know the high of pounding combo after combo and watching lines of code morph and manifest before their eyes at the speed of thought. Once you’ve experienced this, no other editor will satisfy you. Combine this with the sounds of a clicky keyboard, and it feels like heaven.
I've used my fair share of macros to transform text. Vim's great for that. But that's less than 1% of my work as a developer. Much more often, I'm wanting an IDE to do things like:
* Run/debug code
* Jump to a declaration of a function/variables, or find it's uses
* Extract some code as a function
* Rename a variable (and all uses of it)
I bet vim probably _could_ do all of that with the right plugins - but dedicated IDEs do it out-of-the-box. Even something as simple as indent/dedent a block of code is "click-and-drag, tab/shift-tab" in an IDE, vs. ":<range declaration>s/^[^$]/ /" in vim.
This is absolutely true but I myself converted to vscode after getting fed up with having to maintain my vimrc… I miss the combos and no, vim key bindings are nowhere near the same, there are conflicts and missing verbs and motions.
Haven’t tried embedded neovim yet. Is it the best or the worst of both worlds?
It's reasonable. You have "true nvim" managing the buffer. Most plugins will work and it sets a `g:vscode` or whatever variable so you can conditionally enable bits of your config.
Its better than any vim emulation mode that's for sure.
There is a Vim plugin called EasyMotion, which I absolutely love, which when invoked creates a simple 1 or 2-key "checkpoint" at the start of every word on your screen, and super imposes them on the text. Then it's only a matter of looking at the point where you wanted to move, and press the two keys written there, and there you are!
It's also fairly customizable in that you can specify which characters are actually allowed (so you don't end up with very weird keys to press), and some other stuff. So every time I need to move somewhere I can't be bothered to figure out the standard keys it would take me to get there, it saves me.
I don't think anyone actually does counting like that, or at least if they did I agree it would be silly. If I have my eye on a character I'd like to get to, I usually just 'f' + character and then ';' if necessary until I'm in the right place.
The only time I use numbers to specifically target a location is when jumping to a line. I have relative line numbers turned on (line numbers are relative to the cursor) so I always know the exact number I need to type to move to the line I'm looking at.
Tbh I’d swap vim with vscode if it allowed to program keys with the same ease that you can imap to keys or function calls that operate like vimscript. It doesn’t matter if an editor cannot b/e/etc if you can just program alt-b/e/etc to a corresponding action. But that’s out of reach in practice in all traditional ms-style editors.
It really depends on how much of neovim do you actually use. If you just use vim navigation key bindings then the VSCode neovim mode is nice. But if you are slowly curating the editor itself over time as you find new needs and implement your own new functionality, then neovim in VS Code is not really useful for you.
> Do you prefer navigating files like a startled hamster, jabbing "alt-left" incessantly? Or like a ninja, swift and accurate?
Easy: I must prefer anything that lets me work while remembering about three or four different keys. So anything that replaces a complex shortcut with "hit an easily remembered key ten times" will win hands down.
Because the alternative to whacking the key ten times isn't doing some elegant chord, it's going through a six level context menu or googling for how to do it. Yes I have programmed for 20 years and mostly in the same editors and I still don't know anything beyond the smallest handful of shortcuts for any of them.
Do you prefer navigating files like a startled hamster, jabbing "alt-left" incessantly? Or like a ninja, swift and accurate?
Fancy playing Whack-a-Mole, relentlessly pounding a single key? Or Tekken, delivering insane combos with a precise 9 character sequence?
Vim is about gaining mastery rather than actual efficiency. And it's great.