In your ~/.vimrc, do yourself a favor, and do something like this: map :up " Make F1 save. If you want help, do :help xyz map :up:!./% " Execute the current file map :up:make " Run "make" "...and so on imap imap imap imap imap imap imap imap imap imap imap imap All those imap's are just so you can run these in insert mode. Believe me, once you get in a habit of typing a line of code then hitting just one key to Escape, save, and run the tests, you'll wonder how you ever did it any other way. Also, consider also adding this to your ~/.vimrc: set exrc " See :help 'exrc' Then you can put .vimrc's everywhere, that make the shell feel context-specific. This is especially useful in the root directories of projects - everyone can share the same settings.