Sam Holman - coder, gamer, geek.

Development With Tmux And Vim

So I recently put my dotfiles on Github, with this repository containing all of the configuration for my development environment using Tmux and Vim. "Why?" you may ask. Well, because these tools are awesome, and I recommend you give them a go!

If you're used to most other editors or IDEs, the process of "configuration" is often about digging through preference panels, and when you need to set up on a new computer you often have to go back through that process, while not necessarily remembering how you last set it up.

Conversely, all you have to do here is pull down a repo from Github and you're pretty much done.

My startup routine on a morning consists of firing up a terminal and typing tmuxinator start sky which fires up my standard dev environment for work. This boots a VM, starts tmux with a couple of panes - one smaller panel with an SSH session to said VM, automatically CD'd into an appropriate base directory, and a larger panel with Vim loaded ready for work. I can then press F3 to load my previous Vim session, which opens up all the files I was working on when I last pressed F2 to save, with my cursor exactly where I left off. I then have similar profiles for working on other projects.

Screenshot of Tmux and Vim

It's just efficient, and simple! And that really does sum up the entire thing. While it may not seem simple at first, once you start to understand the concepts it really does become that way. These free, open source tools can replace almost any other development environment, and given a bit of time and learning can definitely help improve your productivity.

You get the super-efficiency of Vim, with syntax highlighting and error checking, code autocompletion, multiple terminal windows and splits, plus phpunit and mocha test integration.

I certainly don't claim there to be anything particularly groundbreaking in my setup, and there are plenty of other dotfile repos on Github, but I do think there are some handy bits and pieces in there - and it's simple, not convoluted.

If any of this has sparked your interest, please feel free to fork the repository, have a play about, give feedback or suggest improvements, and if you want to ask any questions on the comments below then I'll be happy to answer!

« Back