this post was submitted on 17 Jul 2024
45 points (97.9% liked)
Ask Experienced Devs
1235 readers
1 users here now
Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I use vim bindings in vscode, but I'm trying to switch to neovim.
It's hard to talk about efficiencies without use cases but here's some that I like:
Do you have any more compelling examples?
Ooh fun, these all take 2-3 key presses
And these more/less key presses
But it misses the point, of course every editor can do just about anything, but there is a lot more mouse involved and learning it is more difficult because the keybinds aren't combinatorial
Nah I don't have any more examples cuz I haven't been using vim for like 30 years. I think the other comments make good points tho
Superficially, typing + seems to be the same as typing , but these are two completely different paradigms of using the editor.
Vim does not use shortcuts or hotkeys to edit the text, it uses a language to communicate with the editor.
For me, shortcuts and hotkeys are rote memorization, and I'm bad at rote memorization – compare your point "5. Ctrl-{ or } does this I think". Do I need Ctrl-left, Super-left, Alt-left, Shift-left or Ctrl-Shift-left to jump back a word?
The vim editing language is mostly consistent and logical. I did not need to memorize it, I could learn and understand it. But that's just me.
Far too much examples:
Most commands are abbreviations – a for append, b for back, c for change, d for delete, e for end of word, f for forward, g for goto (and more), hjkl are special, i for insert, m for mark, n for next, o for open line, p for paste, q for reqord macro is a strange spelling, r for replace, s for substitute, t for to, u for undo, v for visual mode, w for word, x for extinguish, y for yank, z is just a prefix for arcane stuff. Capital letters are usually variants of their minuscle counterpart – like A for append at end of line.
Commands take a repeat count, and a lot of commands take objects/movements, and these reuse the commands, like "delete inside backticks" => di`, "yank inside brackets" => yi{, "change up to third slash" => c3t/
If you are fluent in vim, you won't type shortcuts while editing, you will talk to your editor.
As for more compelling examples:
"I'd like to change the next 2 sentences" translates to )c2)
"Please format this paragraph." translates to gqap
"Swap these two characters." translates to xp
And I did not touch ex mode, vimscript and plugins yet.