config/.vim
2015-06-30 15:49:17 +02:00
..
after [Vim]Add snipMate plugin 2010-05-04 15:32:13 +02:00
autoload [Vim]Add snipMate plugin 2010-05-04 15:32:13 +02:00
bundle/vundle/autoload [vim] Add vundle minimum file 2015-06-30 15:49:17 +02:00
colors Add colors scheme and use mycolor as a color scheme 2015-06-30 15:46:20 +02:00
doc [vim]update taglist 2015-06-30 15:49:17 +02:00
ftplugin [vim] update man plugin 2015-06-30 15:46:20 +02:00
indent_finder [vim]Make default tabe size 8 2015-06-30 15:49:17 +02:00
plugin [vim][autotags]Remove DxO path ref 2015-06-30 15:49:17 +02:00
snippets [vim] add snippet for timing 2015-06-30 15:46:21 +02:00
syntax [vim]Update VCS plugin 2015-06-30 15:49:16 +02:00
README.markdown [Vim] Add eclim plugin and fugitiv plugin and some notes about vim 2010-04-15 13:50:37 +02:00

fugitive.vim

I'm not going to lie to you; fugitive.vim may very well be the best Git wrapper of all time. Check out these features:

View any blob, tree, commit, or tag in the repository with :Gedit (and :Gsplit, :Gvsplit, :Gtabedit, ...). Edit a file in the index and write to it to stage the changes. Use :Gdiff to bring up the staged version of the file side by side with the working tree version and use Vim's diff handling capabilities to stage a subset of the file's changes.

Bring up the output of git status with :Gstatus. Use - to add/reset a file's changes, or p to add/reset --patch that mofo. And guess what :Gcommit does!

:Gblame brings up an interactive vertical split with git blame output. Press enter on a line to reblame the file as it stood in that commit, or o to open that commit in a split.

:Gmove does a git mv on a file and simultaneously renames the buffer. :Gremove does a git rm on a file and simultaneously deletes the buffer.

Use :Ggrep to search the work tree (or any arbitrary commit) with git grep, skipping over that which is not tracked in the repository. :Glog loads all previous revisions of a file into the quickfix list so you can iterate over them and watch the file evolve!

:Gread is a variant of git checkout -- filename that operates on the buffer rather than the filename. This means you can use u to undo it and you never get any warnings about the file changing outside Vim. :Gwrite writes to both the work tree and index versions of a file, making it like git add when called from a work tree file and like git checkout when called from the index or a blob in history.

Add %{fugitive#statusline()} to 'statusline' to get an indicator with the current branch in (surprise!) your statusline.

Oh, and of course there's :Git for running any arbitrary command.

Like fugitive.vim? Follow the repository on GitHub and vote for it on vim.org.