< Return to all blogs
Introduction to VIM: Transitioning to Command Line Text Editing
Why I'm trying to use VIM after all these years and short reflection on what I think so far.
I’m testing out VIM (contractions: “Vi IMproved”) — a command-line editor — to see if I should make the switch from Atom/Sublime to VIM. I’ve been using Sublime since I started developing in December of 2014 and I only recently picked up Atom my senior year of high school back in the fall of 2015. I’ve always enjoyed text editors and have had my fair share of GUI clients: Sublime 2, Atom, Brackets, XCode (although a bit different because it’s not for web), and a handful of others.
Up until now I’ve always argued that ext editors are much more useful than terminal editors because of their functionality, power, and customization; I was willing to look over their slow performance and limited upper-bound on configuration. Specifically for work-related projects, I have to develop and write code on my virtual machine in the cloud, meaning that I could either edit from the terminal or use an FTP plugin on Sublime/Atom (meaning I would have to manage double copies of everything). I decided that since it’s the summer, I’d have time to try out VIM and see if I want it to be daily driver during the school year because, I have to admit, it has its major benefits.
I didn’t want to start from scratch and thankfully my coworker, Steve Aragon, is a master at VIM and has been using it for the past two years or so. He has a base configuration that he got from a friend of his so I used his a base and added some of my own customizations.
I’ll probably end up doing a more in-depth post on my thoughts after using it extensively, but my initial thoughts have been fairly positive. The keystrokes take some getting used to. They’re so drastically different from my daily workflow that it’s difficult to adopt, but I can already sense it becoming more muscle memory. Keep in mind that I’ve been using VIM for probably 6 hours total now — much of which is for configuration — I don’t really have enough time logged to make an accurate review of my experience. I love how fast it is and the extensive customizations that I can make. There are plenty of handy plugins (I’m using vim-plug). I’m sticking with my usual iTerm 2 which is significantly faster than any visual text editor, especially Atom, and I’m able to modify the code on my dev box directly as opposed to syncing it from my local machine.
I’ll probably be fairly confident with my setup by the time school rolls around so I’m hoping I can start developing in VIM for all my personal, club, school, and work projects by the end of the summer. The learning curve is a bit steep, but once I’ve put in some practice I’m sure I’ll be faster than I was on Atom or Sublime. I think the difference is really that VIM is so malleable and lightweight that the you can keep pushing the upper bound of your macros, grepping, navigation speed, etc. — your productivity doesn’t ceiling out like it would on a normal text editor.
Check out my next blog post to see my personal VIM configuration — I’ve spent a fair amount of time messing around with it and I’m really enjoying it so far so definitely take a look if you’re at all interested.
Posted in Developer Tools with VIM