I’ve been a long time vim user, and I honestly never really bought into the efficiency claims. That gets repeated over and over, but If you’re a slow typer then no editor can really make much of a difference, and development in reality is a lot of reading code and thinking about code when it comes down to it.
I’ve never used it because I thought it would make me some lightning fast super developer. I’ve always used it because it’s simply fun. It’s makes editing into this interesting sort of game. You start out with a simple set of skills from vimtutor, and inevitably brute force your cursor around the screen for a while. Little by little your movements become more complex and efficient, and the journey to figuring that out is fun and interesting.
It makes you think about typing in a totally different way. It makes it into a some kind of interesting game where your goal is to accomplish a task in the fewest keystrokes possible. That problem solving aspect scratches an itch inside my brain that has always kept me coming back. It’s just fun, and I don’t think that gets talked about enough
That's fair, although now and then I have to do some repetitive task and using bufdo or a macro has saved a decent amount of time. And compared to something like notepad, all the little details probably save time. My average time savings has probably increased significantly after I stopped spending a lot of time creating custom vim scripts and syntax files.
If I spend more than a couple minutes in an arrow-keys-and-mouse text editor, I often find myself unconsciously reverting to vi-language and getting confused. "Oh, I want to go change that sentence up the page that starts with 'Looking at...'" so I type "?Looking at" into the text editor and then stare at it for a few seconds before hitting backspace and reaching for the mouse like a caveman.
I like vi/vim, but it gets me all too frequently because I'm not precise enough of a typist. I'm busy typing away and I hit the wrong modifier key or hitting caps lock and I end up pulling things up or making changes that I never intended to make. Worse, in the split second after it happens and my muscle memory tries to correct it my immediate intuition of what mode I was in is wrong or which modifier key I'm pressing or caps lock is on and I only make the situation worse. Any improvements in performance because of the quick key interface are long gone.
I don't think it makes me more efficient at writing code. Its because the act of coding is like 80% reading existing code, only rarely adding new code. You spend far more time moving around and exploring the code, and in vim the keys to do that are single keypresses, or sequences like `]p`. Every other non-modal editor requires you to hit chords like Ctrl-Shift-F to move around, because the "easy" keys are all taken up by "add this character to the buffer", 100% of the time.
Vim is definitely more efficient when it comes to navigation and manipulation (esp via macros), which are the two things we do the most as programmers.
The added benefit I found is that Vim’s purely keyboard based design is much, much easier on the wrists. Heck, I pushed myself to learn Vim because I started to feel wrist pain due to KB and mouse switching.
vi was pretty efficient in the (terminal) era it launched in.
specifically, the keys used by vi were there on every (terminal) keyboard.
In comparison, emacs heavily depended on modifier keys, which were pretty non-standard and if found, frequently were in different places on each keyboard.
That said, more complex editing tasks using modes/automation/etc might be more efficient with emacs.
personally, I have "thresholds". quick/dirty can be vi, more involved goes to emacs. same with scripting, quick/dirty shell script, more involved to something like python. ymmv
I’ve been a long time vim user, and I honestly never really bought into the efficiency claims. That gets repeated over and over, but If you’re a slow typer then no editor can really make much of a difference.
Little by little your movements become more complex and efficient, and the journey to figuring that out is fun and interesting.
The slight contradiction in your comment has a lot of truth in it.
It’s just fun, and I don’t think that gets talked about enough
Yes yes yes. Vim can absolutely lead to more efficient text editing, but I agree it has more to do with the fun journey than with typing speed.
vi definitely doesn't scratch that "itch" for everyone in the same way. But for me, it's as though I found a cheat code. Getting better at vi feels like getting better at a game - only practicing this game makes you better at any number of tasks that are relevant to your daily work.
(although if you also want to get better at typing speed, there are surprisingly fun roguelikes on Steam for just this purpose)
Haha. I spent a significant amount of time getting vim keybinds everywhere, and eventually had to make exceptions for certain software. But, I had my share of making exceptions I guess and got frustrated when I couldn’t map Win+L in Windows to anything and I decided to solve it once and for all. Got a QMK programmable keyboard and now I use hjkl everywhere I would use arrow keys. Did it save me time? No. After 8 months of usage on split keyboard I am back at my original speed and don’t need a cheatsheet for my symbols layer, but it made me less frustrated and feel more free. I don’t need a AHk script or key remapping and their restrictions, this is wayy easieer especially with live VIA configurator.
I’ve never used it because I thought it would make me some lightning fast super developer. I’ve always used it because it’s simply fun. It’s makes editing into this interesting sort of game. You start out with a simple set of skills from vimtutor, and inevitably brute force your cursor around the screen for a while. Little by little your movements become more complex and efficient, and the journey to figuring that out is fun and interesting.
It makes you think about typing in a totally different way. It makes it into a some kind of interesting game where your goal is to accomplish a task in the fewest keystrokes possible. That problem solving aspect scratches an itch inside my brain that has always kept me coming back. It’s just fun, and I don’t think that gets talked about enough