This summer marks my first year using vim as my primary text editor. Man it’s been crazy to see myself progress as a “vimmer”.

I’m at the point now where I almost can’t type on a computer without the Vim keybinds. For languages that don’t have great Vim support, and the code base is big enough that I need :GoToDefinition, I use Intellij with Vim keybindings (shoutout to IdeaVim). It’s funny, how much more productive I think I am now just changing text than I was a year ago. Right now I’m writing this blog post using vim. I set up my own [snippet] for writing the header in the markdown of my blog post the other day. It’s just amazing how great the community is, and that the editor is so customizable. But you might ask why I don’t like Atom, VSCode, or Xi? Because I can’t just jump on a computer and have an editor available like Vim available on any Unix machine I use. While I understand that my plugins, won’t work on those machines (a motivation to keep my plugin list small), I’ll still have the core Vim keybindings that I’ve grown to love.

The main two things that I enjoy about Vim is that I don’t have to move my hands to the trackpad/mouse (always akward to switch), and the modes. The modes for me, are a pretty natural part of text editing. You’re either inserting text, searching for text, highlighting text. It’s just very natural and efficent to think about text being in the different modes Vim supports. The other nice benefit is having the command line built-in with exec mode.

Lastly, areas I need to learn more about: now that I’ve learned the basics well, start understanding my plugins on a deeper-level - including all the new Google-specific ones I’m now going to learn at work. Also, some of the other random :commands I need to learn. Regardless, I’m a “vimmer” for life! Looking forward to a lifetime of building up my editor, plugins and keybinds.