I’m Chris Oliver. I’m a developer and entrepreneur who spends a lot of his time bridging the business and engineering side of startups. Originally I got started programming around 7th grade when my dad gave me a book on programming Basic on the Atari he used to have. Since we didn’t have the Atari anymore, I discovered our Magnavox computer in the basement could run GW-Basic which was similar enough. Over the years I taught myself a bunch of languages and went to college for a Computer Science degree.
It’s hard to say when I first used Vim, but it was probably 6 or 7 years ago that I first started using it full-time. I use it mostly for web development writing mostly Ruby, Rails, CSS, JS, CoffeeScript, Erb, etc. I’m currently using MacVim on OS X because it provides a little bit more natural interface when other people use my computer. If they’re used to clicking and highlighting things in Sublime, they can have an easier time pairing with me using Vim.
There were a few reason why I chose Vim. One was that I originally did tons of work on Linux. Anytime you have to SSH into a server you usually have two options by default: Vim or Nano. Since Nano is pretty basic, I figured learning Vim would be a wise choice. It also seemed like it was the most popular when I was starting so I figured I’d be able to learn it easier because of that.
I’m one of the least advanced users of Vim you might find, but I know enough of the basics that my velocity of editing is quite a bit faster than most people who use Sublime or Atom that I’ve worked with. My Vim setup is a pretty stock setup, with one big addition: a thing called Janus. Janus is a well maintained repository of Vim plugins and mappings that provide you a really nice environment to ease into if you’re coming from a graphical editor like Sublime or Atom and want to get into Vim.
The common question I get from most web developers is why would I use Vim over Atom or Sublime? The answer to that is pretty simple. When you use Vim, you’re encouraged to be using the keyboard 100% of the time. That’s going to increase your typing efficiency a lot. When you’re in Sublime, you’ll notice you have a tendency to continuously move your hand between the keyboard and mouse and everything’s slower then. Sure, at this point graphical editors provide a lot of the same shortcuts or Vim modes, but they’ll never put you in the right mindset of typing efficiency that using Vim does.
In the early days, I struggled using Vim because I wanted to see my files, quickly edit files, etc. Everything felt like sort of a chore because there were so many commands to memorize. All those comfortable things of using Sublime feel missing the moment you step into stock Vim. Janus promised to ease you in and was one of the more popular distributions at the time so I figured I’d give it a shot. I’ve been using it ever since. At some point I’ll build my own custom Vim set of plugins and configs, but for right now Janus gets the job done well for me.
The plugins I use the most are CtrlP, NerdTree, and Ack which give you a pretty good chunk of the features you’d use most in an editor like Sublime. Syntastic is always great for a quick gut check to make sure you didn’t leave any syntax errors in your file while editing. It’s caught a lot of quick bugs that I wouldn’t have noticed as quickly.
I’ve quite enjoyed watching Gary Bernhardt and Ben Orenstein talk about how they use Vim. Those guys are quite inspirational when it comes to deciding whether or not you should learn Vim. Vimcasts has also been a good inspiration for diving deeper into vim. I’m still just a beginner with vim, so it’s always awesome to see how the pros use it to pick up one or two things that make your daily typing faster.
I was just reading this thread on Stack Overflow recently and didn’t realize you could use “gv” to select the most recent visual select. Super cool stuff.
Not currently, but I would love to get more involved in the future!
Lately I’ve been mostly using Vim to work on GoRails screencasts. I do all the coding for my Rails apps in Vim, so if you’re interested to see how I use it, definitely check out the screencasts.
I’m also maintaining a bunch of open source projects and doing a couple consulting projects at the moment. Pair programming on these projects is always fun because it usually results in the person I’m working with start trying out Vim for their own workflow shortly afterwards.