Permalink
Browse files

Fugitive plugin

  • Loading branch information...
1 parent ef1525e commit 274b4bd9c28f9f27503d2822575a27dda085e82b Andrey Paramonov committed Feb 17, 2013
Showing with 2,906 additions and 2 deletions.
  1. +3 −0 .gitignore
  2. +313 −0 .vim/doc/fugitive.txt
  3. +52 −0 .vim/doc/tags
  4. +2,536 −0 .vim/plugin/fugitive.vim
  5. +2 −2 .vimrc
View
@@ -4,3 +4,6 @@
.DS_Store
.lein-failures
*.swp
+
+.idea
+*.iml
View
@@ -0,0 +1,313 @@
+*fugitive.txt* A Git wrapper so awesome, it should be illegal
+
+Author: Tim Pope <http://tpo.pe/>
+License: Same terms as Vim itself (see |license|)
+
+This plugin is only available if 'compatible' is not set.
+
+INTRODUCTION *fugitive*
+
+Whenever you edit a file from a Git repository, a set of commands is defined
+that serve as a gateway to Git.
+
+COMMANDS *fugitive-commands*
+
+These commands are local to the buffers in which they work (generally, buffers
+that are part of Git repositories).
+
+ *fugitive-:Git*
+:Git [args] Run an arbitrary git command. Similar to :!git [args]
+ but chdir to the repository tree first.
+
+ *fugitive-:Git!*
+:Git! [args] Like |:Git|, but capture the output into a temp file,
+ and edit that temp file.
+
+ *fugitive-:Gcd*
+:Gcd [directory] |:cd| relative to the repository.
+
+ *fugitive-:Glcd*
+:Glcd [directory] |:lcd| relative to the repository.
+
+ *fugitive-:Gstatus*
+:Gstatus Bring up the output of git-status in the preview
+ window. The following maps, which work on the cursor
+ line file where sensible, are provided:
+
+ <C-N> next file
+ <C-P> previous file
+ <CR> |:Gedit|
+ - |:Git| add
+ - |:Git| reset (staged files)
+ cA |:Gcommit| --amend --reuse-message=HEAD
+ ca |:Gcommit| --amend
+ cc |:Gcommit|
+ cva |:Gcommit| --amend --verbose
+ cvc |:Gcommit| --verbose
+ D |:Gdiff|
+ ds |:Gsdiff|
+ dp |:Git!| diff (p for patch; use :Gw to apply)
+ dp |:Git| add --intent-to-add (untracked files)
+ dv |:Gvdiff|
+ O |:Gtabedit|
+ o |:Gsplit|
+ p |:Git| add --patch
+ p |:Git| reset --patch (staged files)
+ q close status
+ R reload status
+ S |:Gvsplit|
+
+ *fugitive-:Gcommit*
+:Gcommit [args] A wrapper around git-commit. If there is nothing
+ to commit, |:Gstatus| is called instead. Unless the
+ arguments given would skip the invocation of an editor
+ (e.g., -m), a split window will be used to obtain a
+ commit message. Write and close that window (:wq or
+ |:Gwrite|) to finish the commit. Unlike when running
+ the actual git-commit command, it is possible (but
+ unadvisable) to muck with the index with commands like
+ git-add and git-reset while a commit message is
+ pending.
+
+ *fugitive-:Ggrep*
+:Ggrep [args] |:grep| with git-grep as 'grepprg'.
+
+ *fugitive-:Glgrep*
+:Glgrep [args] |:lgrep| with git-grep as 'grepprg'.
+
+ *fugitive-:Glog*
+:Glog [args] Load all previous revisions of the current file into
+ the quickfix list. Additional git-log arguments can
+ be given (for example, --reverse). If "--" appears as
+ an argument, no file specific filtering is done, and
+ previous commits rather than previous file revisions
+ are loaded.
+
+ *fugitive-:Gllog*
+:Gllog [args] Like |:Glog|, but use the location list instead of the
+ quickfix list.
+
+ *fugitive-:Gedit* *fugitive-:Ge*
+:Gedit [revision] |:edit| a |fugitive-revision|.
+
+ *fugitive-:Gsplit*
+:Gsplit [revision] |:split| a |fugitive-revision|.
+
+ *fugitive-:Gvsplit*
+:Gvsplit [revision] |:vsplit| a |fugitive-revision|.
+
+ *fugitive-:Gtabedit*
+:Gtabedit [revision] |:tabedit| a |fugitive-revision|.
+
+ *fugitive-:Gpedit*
+:Gpedit [revision] |:pedit| a |fugitive-revision|.
+
+:Gsplit! [args] *fugitive-:Gsplit!* *fugitive-:Gvsplit!*
+:Gvsplit! [args] *fugitive-:Gtabedit!* *fugitive-:Gpedit!*
+:Gtabedit! [args] Like |:Git!|, but open the resulting temp file in a
+:Gpedit! [args] split, tab, or preview window.
+
+ *fugitive-:Gread*
+:Gread [revision] Empty the buffer and |:read| a |fugitive-revision|.
+ When the argument is omitted, this is similar to
+ git-checkout on a work tree file or git-add on a stage
+ file, but without writing anything to disk.
+
+:{range}Gread [revision]
+ |:read| in a |fugitive-revision| after {range}.
+
+ *fugitive-:Gread!*
+:Gread! [args] Empty the buffer and |:read| the output of a Git
+ command. For example, :Gread! show HEAD:%.
+
+:{range}Gread! [args] |:read| the output of a Git command after {range}.
+
+ *fugitive-:Gw* *fugitive-:Gwrite*
+:Gwrite Write to the current file's path and stage the results.
+ When run in a work tree file, it is effectively git
+ add. Elsewhere, it is effectively git-checkout. A
+ great deal of effort is expended to behave sensibly
+ when the work tree or index version of the file is
+ open in another buffer.
+
+:Gwrite {path} You can give |:Gwrite| an explicit path of where in
+ the work tree to write. You can also give a path like
+ :0:foo.txt or even :0 to write to just that stage in
+ the index.
+
+ *fugitive-:Gwq*
+:Gwq [path] Like |:Gwrite| followed by |:quit| if the write
+ succeeded.
+
+:Gwq! [path] Like |:Gwrite|! followed by |:quit|! if the write
+ succeeded.
+
+ *fugitive-:Gdiff*
+:Gdiff [revision] Perform a |vimdiff| against the current file in the
+ given revision. With no argument, the version in the
+ index is used (which means a three-way diff during a
+ merge conflict, making it a git-mergetool
+ alternative). The newer of the two files is placed
+ to the right. Use |do| and |dp| and write to the
+ index file to simulate "git add --patch".
+
+ *fugitive-:Gsdiff*
+:Gsdiff [revision] Like |:Gdiff|, but split horizontally.
+
+ *fugitive-:Gvdiff*
+:Gvdiff [revision] Identical to |:Gdiff|. For symmetry with |:Gsdiff|.
+
+ *fugitive-:Gmove*
+:Gmove {destination} Wrapper around git-mv that renames the buffer
+ afterward. The destination is relative to the current
+ directory except when started with a /, in which case
+ it is relative to the work tree. Add a ! to pass -f.
+
+ *fugitive-:Gremove*
+:Gremove Wrapper around git-rm that deletes the buffer
+ afterward. When invoked in an index file, --cached is
+ passed. Add a ! to pass -f and forcefully discard the
+ buffer.
+
+ *fugitive-:Gblame*
+:Gblame [flags] Run git-blame on the file and open the results in a
+ scroll bound vertical split. Press enter on a line to
+ reblame the file as it was in that commit. You can
+ give any of ltfnsewMC as flags and they will be passed
+ along to git-blame. The following maps, which work on
+ the cursor line commit where sensible, are provided:
+
+ A resize to end of author column
+ C resize to end of commit column
+ D resize to end of date/time column
+ q close blame and return to blamed window
+ gq q, then |:Gedit| to return to work tree version
+ <CR> q, then open commit
+ o open commit in horizontal split
+ O open commit in new tab
+ - reblame at commit
+ ~ reblame at [count]th first grandparent
+ P reblame at [count]th parent (like HEAD^[count])
+
+:[range]Gblame [flags] Run git-blame on the given range.
+
+ *fugitive-:Gbrowse*
+:[range]Gbrowse If the remote for the current branch is on GitHub,
+ open the current file, blob, tree, commit, or tag
+ (with git-web--browse) on GitHub. Otherwise, open the
+ current file, blob, tree, commit, or tag in
+ git-instaweb (if you have issues, verify you can run
+ "git instaweb" from a terminal). If a range is given,
+ it is appropriately appended to the URL as an anchor.
+
+ To use with GitHub FI, point g:fugitive_github_domains
+ at a list of domains:
+>
+ let g:fugitive_github_domains = ['https://example.com']
+~
+:[range]Gbrowse! Like :Gbrowse, but put the URL on the clipboard rather
+ than opening it.
+
+:[range]Gbrowse {revision}
+ Like :Gbrowse, but for a given |fugitive-revision|. A
+ useful value here is -, which ties the URL to the
+ latest commit rather than a volatile branch.
+
+:[range]Gbrowse [...]@{remote}
+ Force using the given remote rather than the remote
+ for the current branch. The remote is used to
+ determine which GitHub repository to link to.
+
+MAPPINGS *fugitive-mappings*
+
+These maps are available everywhere.
+
+ *fugitive-c_CTRL-R_CTRL-G*
+<C-R><C-G> On the command line, recall the path to the current
+ object (that is, a representation of the object
+ recognized by |:Gedit|).
+
+ *fugitive-y_CTRL-G*
+["x]y<C-G> Yank the commit SHA and path to the current object.
+
+These maps are available in Git objects.
+
+ *fugitive-<CR>*
+<CR> Jump to the revision under the cursor.
+
+ *fugitive-o*
+o Jump to the revision under the cursor in a new split.
+
+ *fugitive-S*
+S Jump to the revision under the cursor in a new
+ vertical split.
+
+ *fugitive-O*
+O Jump to the revision under the cursor in a new tab.
+
+ *fugitive--*
+- Go to the tree containing the current tree or blob.
+
+ *fugitive-~*
+~ Go to the current file in the [count]th first
+ ancestor.
+
+ *fugitive-P*
+P Go to the current file in the [count]th parent.
+
+ *fugitive-C*
+C Go to the commit containing the current file.
+
+ *fugitive-a*
+a Show the current tag, commit, or tree in an alternate
+ format.
+
+SPECIFYING REVISIONS *fugitive-revision*
+
+Fugitive revisions are similar to Git revisions as defined in the "SPECIFYING
+REVISIONS" section in the git-rev-parse man page. For commands that accept an
+optional revision, the default is the file in the index for work tree files
+and the work tree file for everything else. Example revisions follow.
+
+Revision Meaning ~
+HEAD .git/HEAD
+master .git/refs/heads/master
+HEAD^{} The commit referenced by HEAD
+HEAD^ The parent of the commit referenced by HEAD
+HEAD: The tree referenced by HEAD
+/HEAD The file named HEAD in the work tree
+Makefile The file named Makefile in the work tree
+HEAD^:Makefile The file named Makefile in the parent of HEAD
+:Makefile The file named Makefile in the index (writable)
+- The current file in HEAD
+^ The current file in the previous commit
+~3 The current file 3 commits ago
+: .git/index (Same as |:Gstatus|)
+:0 The current file in the index
+:1 The current file's common ancestor during a conflict
+:2 The current file in the target branch during a conflict
+:3 The current file in the merged branch during a conflict
+:/foo The most recent commit with "foo" in the message
+
+STATUSLINE *fugitive-statusline*
+
+ *fugitive#statusline()*
+Add %{fugitive#statusline()} to your statusline to get an indicator including
+the current branch and the currently edited file's commit. If you don't have
+a statusline, this one matches the default when 'ruler' is set:
+>
+ set statusline=%<%f\ %h%m%r%{fugitive#statusline()}%=%-14.(%l,%c%V%)\ %P
+<
+ *fugitive#head(...)*
+Use fugitive#head() to return the name of the current branch. If the current
+HEAD is detached, fugitive#head() will return the empty string, unless the
+optional argument is given, in which case the hash of the current commit will
+be truncated to the given number of characters.
+
+ABOUT *fugitive-about*
+
+Grab the latest version or report a bug on GitHub:
+
+http://github.com/tpope/vim-fugitive
+
+ vim:tw=78:et:ft=help:norl:
View
@@ -45,6 +45,58 @@ et clojure.txt /*et*
fd clojure.txt /*fd*
ft-clj-indent clojure.txt /*ft-clj-indent*
ft-clj-syntax clojure.txt /*ft-clj-syntax*
+fugitive fugitive.txt /*fugitive*
+fugitive#head(...) fugitive.txt /*fugitive#head(...)*
+fugitive#statusline() fugitive.txt /*fugitive#statusline()*
+fugitive-- fugitive.txt /*fugitive--*
+fugitive-:Gblame fugitive.txt /*fugitive-:Gblame*
+fugitive-:Gbrowse fugitive.txt /*fugitive-:Gbrowse*
+fugitive-:Gcd fugitive.txt /*fugitive-:Gcd*
+fugitive-:Gcommit fugitive.txt /*fugitive-:Gcommit*
+fugitive-:Gdiff fugitive.txt /*fugitive-:Gdiff*
+fugitive-:Ge fugitive.txt /*fugitive-:Ge*
+fugitive-:Gedit fugitive.txt /*fugitive-:Gedit*
+fugitive-:Ggrep fugitive.txt /*fugitive-:Ggrep*
+fugitive-:Git fugitive.txt /*fugitive-:Git*
+fugitive-:Git! fugitive.txt /*fugitive-:Git!*
+fugitive-:Glcd fugitive.txt /*fugitive-:Glcd*
+fugitive-:Glgrep fugitive.txt /*fugitive-:Glgrep*
+fugitive-:Gllog fugitive.txt /*fugitive-:Gllog*
+fugitive-:Glog fugitive.txt /*fugitive-:Glog*
+fugitive-:Gmove fugitive.txt /*fugitive-:Gmove*
+fugitive-:Gpedit fugitive.txt /*fugitive-:Gpedit*
+fugitive-:Gpedit! fugitive.txt /*fugitive-:Gpedit!*
+fugitive-:Gread fugitive.txt /*fugitive-:Gread*
+fugitive-:Gread! fugitive.txt /*fugitive-:Gread!*
+fugitive-:Gremove fugitive.txt /*fugitive-:Gremove*
+fugitive-:Gsdiff fugitive.txt /*fugitive-:Gsdiff*
+fugitive-:Gsplit fugitive.txt /*fugitive-:Gsplit*
+fugitive-:Gsplit! fugitive.txt /*fugitive-:Gsplit!*
+fugitive-:Gstatus fugitive.txt /*fugitive-:Gstatus*
+fugitive-:Gtabedit fugitive.txt /*fugitive-:Gtabedit*
+fugitive-:Gtabedit! fugitive.txt /*fugitive-:Gtabedit!*
+fugitive-:Gvdiff fugitive.txt /*fugitive-:Gvdiff*
+fugitive-:Gvsplit fugitive.txt /*fugitive-:Gvsplit*
+fugitive-:Gvsplit! fugitive.txt /*fugitive-:Gvsplit!*
+fugitive-:Gw fugitive.txt /*fugitive-:Gw*
+fugitive-:Gwq fugitive.txt /*fugitive-:Gwq*
+fugitive-:Gwrite fugitive.txt /*fugitive-:Gwrite*
+fugitive-<CR> fugitive.txt /*fugitive-<CR>*
+fugitive-C fugitive.txt /*fugitive-C*
+fugitive-O fugitive.txt /*fugitive-O*
+fugitive-P fugitive.txt /*fugitive-P*
+fugitive-S fugitive.txt /*fugitive-S*
+fugitive-a fugitive.txt /*fugitive-a*
+fugitive-about fugitive.txt /*fugitive-about*
+fugitive-c_CTRL-R_CTRL-G fugitive.txt /*fugitive-c_CTRL-R_CTRL-G*
+fugitive-commands fugitive.txt /*fugitive-commands*
+fugitive-mappings fugitive.txt /*fugitive-mappings*
+fugitive-o fugitive.txt /*fugitive-o*
+fugitive-revision fugitive.txt /*fugitive-revision*
+fugitive-statusline fugitive.txt /*fugitive-statusline*
+fugitive-y_CTRL-G fugitive.txt /*fugitive-y_CTRL-G*
+fugitive-~ fugitive.txt /*fugitive-~*
+fugitive.txt fugitive.txt /*fugitive.txt*
gi clojure.txt /*gi*
gw clojure.txt /*gw*
ji clojure.txt /*ji*
Oops, something went wrong.

0 comments on commit 274b4bd

Please sign in to comment.