August 02, 2012
One of my fellow developers asked me the other day if I had any good dotfiles for
bash. I realized I don’t. I don’t even have
ll aliased to
ls -l like most of the known universe. I realized that I like to run as stock as I can.
Here’s what I have aliased in
alias vi='mvim' alias ps='ps auxwwwwwwww' alias ls='ls -FG' alias irb=pry
That’s it. I type
bundle exec if I have to (and always in anger). I have a function called
go that sets up a few things for working on a particular project (e.g.
go gli before I start working on gli), but otherwise, I type the commands as
they come and use whatever options I need at the time, even if I tend to use the same options a lot (e.g.
Over the years, my muscle memory has evolved around just using the shell as it is and not wound around a lot of customizations. As such, when I’m tunneled into some production server, or other location where I don’t have my dotfiles (such as another developer’s box), I’m almost exactly as proficient as I am in my own environment.
Sure, it takes some probably-measurable amount of time to type
bundle exec or
ls -l instead of
ll, but I find I don’t spend a lot of my time typing things. I spend most of it reading and thinking, and there’s really no shortcut for that.
Similarly, my global
git config contains only one alias:
lol, which shows logs on one line (
log --oneline --graph --decorate).
.vimrc is a bit of an exception, as I have a fair amount of default configuration overridden, but in terms of mappings, I still don’t have that much set up. I use pathogen plugins and know the shortcuts many of them provide (like the amazing rails.vim), but I don’t tend to customize them that much. Here’s all the
mappings I have setup:
" cd to directory of current file map c :cd %:p:h " open buffer list map b n\be " next error map :cnext " fold this line map f !!fold -w77 -s " ^O tries to open the thing under the cursor using gf map sgf " Avoid annoying ^Z minimizing to nowhere map
Again, that’s it. Whenever I’m in
vi, anywhere, I’m 99% effective.
I tend to automate things away when they become annoying, so I guess I don’t tend to get annoyed by typing small words into the terminal. My brain thinks in chunks of words, which is why I dislike abbreviations and acronyms. They seem like a vestige of the days when we had to write things instead of auto-complete them.
Anyway, I’d recommend all developers try to run as stock as possible. I bet you won’t be as slowed down as you think, and you won’t feel hamstrung in an environment you can’t totally control.