git config --global alias.open '!sh ~/gitopen.sh'
git open diff master
https://github.com/tpope/vim-fugitive
The last five vimcasts go through what this plugin can do, and are really worth the time:
http://vimcasts.org/episodes/archive