My work PC, Home PC, and laptop all have different keyboards. I find my hands wanting to do the wrong thing all the time. Also I have to log into multiple servers with different versions of vi, vim, emacs, bash, ksh, I do not have the luxury of staying in one IDE or environment. vi appears to me to be the best editor of choice given the diversity of what I work with but I find vimmisms creeping into my habits. I can solve some of these using file shares but some systems are not allowed to access our test mounts. What habits keep you effective?
For the keyboard problem, I just pretty much gave up on desktops and use a laptop almost exclusively. The current place of work prefers we use a company-supplied desktop (I have NFI why), so I've got a Thinkpad USB keyboard hooked up to the desktop (which matches, in key layout and mouse positioning/usage, my laptop keyboard).
As far as the server environment thing goes, I've never solved that problem satisfactorily. Using the lowest-common-denominator everywhere doesn't suck too badly, but for the most part I just use automation to do all admin tasks, which means I rarely (never, if I'm doing my job right) log in to a machine to do ad-hoc administration anyway.
This is why sys admins often prefer vi over anything else. It's essentially the same everywhere, and it is everywhere UNIX. You can either take tools with you, or reduce yourself to the lowest common denominator:
- Settle on vi everywhere, so your fingers don't do the wrong thing.
- Buy a USB keyboard and take it with you, if possible.
- Put some binaries on a USB stick, if possible
At my last job, I set up my laptop and work with the same version of gvim, eclipse, etc. I brought in my own keyboard and mouse to work, and at times I would just bring in my laptop and rsync between work and it and do the work on it.