fugitive.vim : A Git wrapper so awesome, it should be illegal
| script karma |
Rating 1399/399,
Downloaded by 7906
|
Comments, bugs, improvements
|
Vim wiki
|
| created by |
| Tim Pope |
| |
| script type |
| utility |
| |
| description |
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. Press `-` 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.
The preferred submission method for bug reports, feature requests, and patches is GitHub issues: http://github.com/tpope/vim-fugitive. I also accept email. |
| |
| install details |
| Extract in ~/.vim (~\vimfiles on Windows). I highly recommend grabbing directly from http://github.com/tpope/vim-fugitive as this version tends to fall out of date. |
| |
script versions (upload new version)
Click on the package to download.
| fugitive.zip |
1.2 |
2011-04-29 |
7.0 |
Tim Pope |
Support :Gmove in a directory.
Provide :Gbrowse to open code on GitHub or in git-instaweb.
Provide :Gwq to :quit after :Gwrite.
Provide :Gsdiff to do a horizontal diff.
Map ds in :Gstatus to do a horizontal diff.
Map <C-N> and <C-P> in :Gstatus to cycle between files.
Map `-` on headings in :Gstatus.
Map dp in stage conflict to do the right thing.
Point 'tags' at .git/tags.
Windows fixes. [Michael Geddes]
|
| fugitive.zip |
1.1 |
2010-03-21 |
7.0 |
Tim Pope |
Much better windows support ('shellslash' no longer required).
Delete blame buffers when closed.
Pass :Gblame flags along to git-blame.
Fix duplicate "Signed-off-by" lines.
Finish pending commit even if exiting Vim.
Allow double quotes in :Git and :Ggrep arguments.
`D` in :Gstatus shows a diff. |
| fugitive.zip |
1.0 |
2010-02-15 |
7.0 |
Tim Pope |
Initial upload |
ip used for rating: 54.234.126.92
|