If you don’t understand the title, you might just as well leave — this post is going to contain close to no useful information for you.
I’ve been spending a lot of my time in the shell recently. Mostly splitting my time between bash and vim, usually in screen.
I’ve always had a reasonable .bashrc, and my .vimrc used to be above average as well. But I invested some extra time to research more possibilities the dotfiles offer. You can preview and download my dotrc at github.
Here are some of the highlights, whatever I consider the “best of”.
My .bashrc is unremarkable, I just have a lot of shortcuts for the common everyday stuff. Perhaps the only thing worth noting is title setting for screen:
PROMPT_COMMAND='echo -ne "\033k`echo $PWD | sed "s:.*/\(.*/.*/.*\):\1:g"`\033\\"'
I actually wrote that myself, it shows the innermost three directories that you’re in. Showing running command in title is useless, as that’s in most cases either bash or vim (rarely also mysql). Showing the full path is useless, because long titles get cut off. Showing only the current directory name is not so great either, as it leaves you without context. I’ve settled for last three so far, but two might also be useful in certain situations.
Perhaps the best tip of all, reduce amount of tab hitting for completion by 50%. Put following to your .inputrc:
set show-all-if-ambiguous on
Next in line is my .vimrc (sorry, no .emacsrc, emacs sucks). Except for the usual stuff (nocompatible, colours, incsearch, etc.), I use few very useful and not very well known tricks.
set so=10 " show 10 lines of context (above and below)
“so” is short for “scrolloff”, which makes sure you have some space to breathe.
Last but not least, the Esc key is real far, hence:
set tm=400 " timeout for shortcuts
inoremap jk "pressing j and k together escapes
Have I missed any useful tips & tricks?