Sunday, August 12, 2012

VIM productivity

Vim Pedal

A couple weeks ago my pinky fingers became so strained it was painful.  This was due to the location of the control key on my keyboard (http://www.kinesis-ergo.com/freestyle.htm).  When typing normally ie. using webrowser, word processor, email etc.  I hadn't noticed.  Control is a modifier key in VIM and used for many commands, requiring me to use it constantly.

Over the last couple weeks a couple of sites had an article about VIM clutch pedals https://github.com/alevchuk/vim-clutch.  I loved the idea but was very reluctant to have to construct it myself, so I searched for prefabbed/complete pedals.  There were a number of programmable pedals including some very nice ones by kinesis.  The issue was the programmable software is for windows.  Once again I did not want this to become a hobby but just something I could buy and start using.

After some searching I discovered Delcom Products Inc. who makes complete programmable clutch pedals.  "Programming" one involves moving pins around to create keyboard key codes, which in turn are just interpreted as keyboard input! Perfect no hassle and no custom software.  I promptly ordered one.  When it arrive it was trivial to open it up and change the key codes to control (included is a huge sheet of key codes and corresponding pin combinations).  The build quiality is very good, the pedal feels very sturdy.  Now I no longer have to stretch my pinkys to reach the control key!



Vim monitor


I am a large proponent of a single monitor setup, instead of relying on hardware for screen space I enjoy relying on software!.  This includes Virtual desktops and keycombinations to place windows on certain parts of the screen.  The main strengths of this are:

  1. No bezel! Multiple monitor setups are always split across a bezel! A huge piece of material interrupting the display
  2. We can't focus on two monitors at the same time.  If I could make my left eye look at a left monitor and my right eye look at a right monitor then a dual monitor setup would be perfect.  The problem is I can't, there will always be one monitor that cannot be actively used.
  3. There is no comfortable multiple monitor setup.  With 2 monitors they can be setup so that there is a "main" monitor directly in front and then there is a monitor off to the side which requires craning the neck.  Or the monitors are perfectly symetrical placed with the bezels touching directly in front of ones eyes.  These means the neck needs to be turned to view either monitor. Three monitor setups "fix" this because one monitor can be placed in front with 1 on either sides.
I have been using a 1920x1200 resolution monitor which has been pretty good.  When I have webiste requirements I split the screen in 2 with the requirements on one side and a browser on the other.  Vim is in a different desktop.  The amount of time it takes to switch from developing in VIM to the browser to view changes (cntr+alt+left) is less time then it would take to move my head to view another monitor.

Just today I tried programming on a 2560x1440 resolution monitor!
My mind was blown.  Normally I can have 4 windows open in VIM and view them perfect and open up to 6 if necessary.  With the higher resolution monitor 6 windows are nothing! Pretty amazing.