"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" " OpenChangedFiles COMMAND " Open a split for each dirty file in git " Shamelessly stolen from Gary Bernhardt: https://github.com/garybernhardt/dotfiles """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" function! OpenChangedFiles() only " Close all windows, unless they're modified let status = system('git status -s | grep "^ \?\(M\|A\)" | cut -d " " -f 3') let filenames = split(status, "\n") if len(filenames) > 0 exec "edit " . filenames[0] for filename in filenames[1:] exec "tabedit " . filename endfor end endfunction command! OpenChangedFiles :call OpenChangedFiles() nnoremap oc :OpenChangedFiles