Envie as alterações para seu branch atual diretamente do VIM

Esse é um atalho que venho usando há um tempo para enviar meus commits para o branch atual no qual estou trabalhando.

" ~/.vimrc
"
Write COMMIT_EDITMSG and push to current branch
function! PushToCurrentBranch()
exe
":Gwrite"
let branch = fugitive#statusline()
let branch = substitute(branch, 'cv[?GIT(([a-z0-9-_./:]+))]?', $BRANCH.' 1', 'g')
exe
":Git push origin" . branch
endfunction


" Map gwp keys to call the function
nnoremap gwp :call PushToCurrentBranch()<CR>

Ele assume que você está em: buffer Gstatus.

Você pode verificar toda a minha configuração VIM aqui: https://github.com/endel/.vim/