A couple of people have asked about my current dev setup on twitter, so I thought I would take the time to share how I currently have my machines setup for my dev work.
Here are the hardware specs for the 2 machines that I run:
- Desktop: Mac Pro - 16GB - Dual Quad Core
- Laptop : Macbook Pro - 4GB - Dual Core
Anyone that knows me will attest to how much of a keyboard freak that I am. I am constantly on the lookout for integrating more tools into the toolkit that allow me to both not use the mouse, and stay as close to home row as possible!! To that end, here is the current set of software that I use purely from a OSX perspective. When it comes to my windows VM’s, I am pretty sure that I have documented their configuration elsewhere, but since I have not been spending a lot of time in the windows environment for the last while, I thought it would make sense to focus on the tools I have installed for my Mac:
Being a Vim user, this tool constitutes where I spend most of my time day to day doing dev work. It is probably useful to make note of the current set of plugins that I am using (which is growing weekly as I become more and more proficient):
- DBExt - A great plugin for working with databases directly from Vim
- NERDTree - Tree Explorer Plugin For FileSystem Navigation
- SnipMate - Code Snippet Expansion
- Syntastic - Good syntax checker
- Command-T - Fast file navigation in Vim
- Buffer Explorer - Fast buffer viewing/switching
- Rails.vim - Great complement when developing rails apps
- Surround.vim - All about surroundings (think quotes, xml tags, …)
- TwitVim - Vim Twitter Client
- ViKing Currently in beta stages, it is being built by an Develop With Passion alumnus who shares a love for ditching the mouse!! Using keybindings that will feel right at home for Vim users, it aims to bring Vim Style navigation to all areas on OSX. I am currently beta testing it, and it has greatly improved my OSX mouseless experience!!
- MercuryMover Great way to move/resize windows with the keyboard
- SizeUp Another tool to do window management with the keyboard. Great for fast window placement.
- QuickSilver The first tool I install on any new osx image. This tool is amazing!!! Make sure you enable advanced features, and turn on all of the proxy object etc…
- Vimperator I have used Vimium with chrome, but it still does not come close to the level of functionality that Vimperator has. Vim style navigation for firefox!!
- Bash I spend a lot of my day at the command line. I cannot stress this enough. If you have not taken the time to learn a good shell, do yourself a favour, learn one and learn it well. This is not about being nostalgic, it is about being able to accomplish a large majority of tasks much faster when you know the command-line equivalents. Windows users finally have a great native shell with PowerShell. Bash, zsh are great for Unix environments.
- Version Control I am not about to recommend which you should use, but use it to manage the tools/scripts that you have so you can quickly jump between machines without issue. In conjunction with the dotfiles that I have as well as a bunch of custom ruby scripts, keeping both of my machines “in sync” is a snap (even between unix and windows environments).
- VMWare Fusion Useful for running a handful of applications that I have yet to find good OSX equivalents for, as well as for when I am doing windows development using Visual Studio.
Hopefully this list of tools gives you a good start to enjoying the mouseless lifestyle in OSX. If you are a keyboard ninja and have tools/utilities that you would like to share, please comment on this post and share with everyone!!
Develop With Passion!!