Really Busy Wizards

vim, tmux, and dotfiles (a.k.a. Things I barely used 2 months ago)

Author: Justin Kenyon

I am starting to really feel like a developer with the coding that I am doing on a daily basis. Possibly the biggest contributor to that feeling is my rapidly improving abilities and understanding of some really cool developer tools.

There are many different editors out there you can use. They will all allow you to write what you need for Ruby and Ruby on Rails apps as well as other languages. For me, I am really happy that I have spent the time to learn Vim. I can now fly around in Rails apps with a few keystrokes. With plugins like rails-vim from Tim Pope I can create and work with everything I need to, right inside of Vim, and it makes me super fast, compared to how I used to work in XYZ editor.

tmux is something that I have heard about in the ramblings of my good friend, who is a *nix admin, for a long time now. I realize now what all the hype is about. At first it might just seem like another program that you need to learn more shortcuts for (it is). But, it is also a tool that can make you very productive. I am able to have my terminal (iTerm 2, of course, but that's for another blog post) window split into 3 different sized sections. One where I can be writing my code in Vim, another for running my rails console, and the other one for running my rails server. All only a glance away. Before tmux I was switching tabs and windows, and it became disorganized very fast.

The final glue that brings these and many other tools together are the dotfiles. These files are used for configuration and customization of many tools and environments on your system. There is a large community of developers that share their dotfiles on github (here are mine: kenyonj/dotfiles). This has probably been my favorite thing so far. I have been able to use our instructor, Josh Steiner's dotfiles and actually contribute back with some more customizations and documentation. This has been teaching me a lot about git pushing and pulling to and from github, merges, pull requests, and countless other things that I know I will be using on a day to day basis in my new career.

By familiarizing myself with these tools I have not only allowed my learning and performance to accelerate drastically, but I have also bumped up my developer cred for when I am looking for a company to join at the end of the Metis bootcamp. The tools you use are as much a part of your resume as the code you write with them.

Here is an example of all my tools in one screenshot... Beautiful, right? vim-tmux-iterm2