mirror of
https://github.com/amix/vimrc
synced 2025-06-23 15:04:59 +08:00
Updated plugins
This commit is contained in:
@ -15,13 +15,21 @@ COMMANDS *fugitive-commands*
|
||||
These commands are local to the buffers in which they work (generally, buffers
|
||||
that are part of Git repositories).
|
||||
|
||||
*fugitive-:G* *fugitive-:Gstatus*
|
||||
:G Bring up a summary window vaguely akin to git-status.
|
||||
:Gstatus Press g? or see |fugitive-mappings| for usage.
|
||||
|
||||
*fugitive-:Git*
|
||||
:Git [args] Run an arbitrary git command. Similar to :!git [args]
|
||||
but chdir to the repository tree first.
|
||||
:Git {args} Run an arbitrary git command. Similar to :!git [args]
|
||||
:G {args} but chdir to the repository tree first. For some
|
||||
subcommands, a Fugitive command is called instead.
|
||||
Invoking :Git push will call :Gpush for example.
|
||||
|
||||
*fugitive-:Git!*
|
||||
:Git! [args] Like |:Git|, but capture the output into a temp file,
|
||||
and edit that temp file.
|
||||
:Git! {args} Like |:Git|, but capture the output into a temp file,
|
||||
:Git --no-pager {args} and |:split| that temp file. Use :0Git to
|
||||
:Git -P {args} |:edit| the temp file instead. A temp file is always
|
||||
used for diff and log commands.
|
||||
|
||||
*fugitive-:Gcd*
|
||||
:Gcd [directory] |:cd| relative to the repository.
|
||||
@ -29,20 +37,16 @@ that are part of Git repositories).
|
||||
*fugitive-:Glcd*
|
||||
:Glcd [directory] |:lcd| relative to the repository.
|
||||
|
||||
*fugitive-:Gstatus* *fugitive-:G*
|
||||
:G Bring up a summary window vaguely akin to git-status.
|
||||
:Gstatus Press g? or see |fugitive-mappings| for usage.
|
||||
|
||||
*fugitive-:Gcommit*
|
||||
:Gcommit [args] A wrapper around git-commit. 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, or a new tab if -v is given. 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 alter the index with
|
||||
commands like git-add and git-reset while a commit
|
||||
message is pending.
|
||||
the window (:wq) to finish the commit. To cancel, use
|
||||
an empty message.
|
||||
|
||||
*fugitive-:Grevert*
|
||||
:Grevert [args] A wrapper around git-revert. Similar to |:Gcommit|.
|
||||
|
||||
*fugitive-:Gmerge*
|
||||
:Gmerge [args] Calls git-merge and loads errors and conflicted files
|
||||
@ -68,28 +72,25 @@ that are part of Git repositories).
|
||||
*fugitive-:Gfetch*
|
||||
:Gfetch [args] Like |:Gpush|, but for git-fetch.
|
||||
|
||||
*fugitive-:Ggrep*
|
||||
*fugitive-:Ggrep* *fugitive-:Gcgrep*
|
||||
:Ggrep[!] [args] |:grep|[!] with git-grep as 'grepprg'.
|
||||
|
||||
*fugitive-:Glgrep*
|
||||
:Glgrep[!] [args] |:lgrep|[!] with git-grep as 'grepprg'.
|
||||
|
||||
*fugitive-:Glog*
|
||||
:Glog [args] Load the commit history into the |quickfix| list.
|
||||
Additional git-log arguments can be given (for
|
||||
example, --reverse). Provide "--" in the argument
|
||||
list to target all commits. Otherwise, only commits
|
||||
changing the current file will be targeted. This
|
||||
special casing is slated to be removed.
|
||||
*fugitive-:Gclog* *fugitive-:Glog*
|
||||
:Gclog[!] [args] Use git-log [args] to load the commit history into the
|
||||
:Glog[!] [args] |quickfix| list. Jump to the first commit unless [!]
|
||||
is given.
|
||||
|
||||
:{range}Glog [args] Use git-log -L to load previous revisions of the given
|
||||
:{range}Gclog[!] [args] Use git-log -L to load previous revisions of the given
|
||||
range of the current file into the |quickfix| list.
|
||||
The cursor is positioned on the first line of the
|
||||
first diff hunk for each commit. Use :0Glog to target
|
||||
the entire file.
|
||||
first diff hunk for each commit. Use :0Gclog to
|
||||
target the entire file.
|
||||
|
||||
*fugitive-:Gllog*
|
||||
:Gllog [args] Like |:Glog|, but use the location list instead of the
|
||||
:Gllog [args] Like |:Gclog|, but use the location list instead of the
|
||||
|quickfix| list.
|
||||
|
||||
*fugitive-:Gedit* *fugitive-:Ge*
|
||||
@ -109,8 +110,10 @@ that are part of Git repositories).
|
||||
|
||||
: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.
|
||||
:Gtabedit! [args] Capture the output of `git [args]` to a temp file and
|
||||
:Gpedit! [args] open it in a split, tab, or preview window. Use
|
||||
:0Gsplit! to suppress the split and open it in the
|
||||
current window.
|
||||
|
||||
*fugitive-:Gread*
|
||||
:Gread [object] Empty the buffer and |:read| a |fugitive-object|.
|
||||
@ -136,7 +139,7 @@ that are part of Git repositories).
|
||||
|
||||
: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
|
||||
:0:foo.txt or :0:% to write to just that stage in
|
||||
the index.
|
||||
|
||||
*fugitive-:Gwq*
|
||||
@ -146,25 +149,31 @@ that are part of Git repositories).
|
||||
:Gwq! [path] Like |:Gwrite|! followed by |:quit|! if the write
|
||||
succeeded.
|
||||
|
||||
*fugitive-:Gdiff*
|
||||
:Gdiff [object] Perform a |vimdiff| against the given file, or if a
|
||||
*fugitive-:Gdiffsplit*
|
||||
:Gdiffsplit [object] Perform a |vimdiff| against the given file, or if a
|
||||
commit is given, the current file in that commit.
|
||||
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 or bottom,
|
||||
depending on 'diffopt', and the width of the window
|
||||
relative to 'textwidth'. Use |do| and |dp| and write
|
||||
to the index file to simulate "git add --patch". For
|
||||
the three-way diff, there is also d2o and d3o pulling
|
||||
the hunk to the middle from the left or the right
|
||||
window, respectively.
|
||||
With no argument, the version in the index or work
|
||||
tree is used. The newer of the two files is placed to
|
||||
the right or bottom, depending on 'diffopt' and the
|
||||
width of the window relative to 'textwidth'. Use
|
||||
Vim's |do| and |dp| to stage and unstage changes.
|
||||
|
||||
*fugitive-:Gsdiff*
|
||||
:Gsdiff [object] Like |:Gdiff|, but always split horizontally.
|
||||
*fugitive-:Gdiffsplit!*
|
||||
:Gdiffsplit! Diff against any and all direct ancestors, retaining
|
||||
focus on the current window. During a merge conflict,
|
||||
this is a three-way diff against the "ours" and
|
||||
"theirs" ancestors. Additional d2o and d3o maps are
|
||||
provided to to obtain the hunk from the "ours" or
|
||||
"theirs" ancestor, respectively.
|
||||
|
||||
*fugitive-:Gvdiff*
|
||||
:Gvdiff [object] Like |:Gdiff|, but always split vertically.
|
||||
:Gdiffsplit! {object} Like |:Gdiffsplit|, but retain focus on the current
|
||||
window.
|
||||
|
||||
*fugitive-:Gvdiffsplit*
|
||||
:Gvdiffsplit [object] Like |:Gdiffsplit|, but always split vertically.
|
||||
|
||||
*fugitive-:Ghdiffsplit* *fugitive-:Gsdiff*
|
||||
:Ghdiffsplit [object] Like |:Gdiffsplit|, but always split horizontally.
|
||||
|
||||
*fugitive-:Gmove*
|
||||
:Gmove {destination} Wrapper around git-mv that renames the buffer
|
||||
@ -184,26 +193,31 @@ that are part of Git repositories).
|
||||
:Gremove Like :Gdelete, but keep the (now empty) buffer around.
|
||||
|
||||
*fugitive-:Gblame*
|
||||
:Gblame [flags] Run git-blame on the file and open the results in a
|
||||
scroll bound vertical split. 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:
|
||||
:Gblame [flags] Run git-blame [flags] on the current file and open the
|
||||
results in a scroll-bound vertical split. The
|
||||
following maps, which work on the cursor line commit
|
||||
where sensible, are provided:
|
||||
|
||||
g? show this help
|
||||
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
|
||||
p open commit in preview window
|
||||
gq close blame, then |:Gedit| to return to work
|
||||
tree version
|
||||
<CR> close blame, and jump to patch that added line
|
||||
(or directly to blob for boundary commit)
|
||||
o jump to patch or blob in horizontal split
|
||||
O jump to patch or blob in new tab
|
||||
p jump to patch or blob in preview window
|
||||
- reblame at commit
|
||||
~ reblame at [count]th first grandparent
|
||||
P reblame at [count]th parent (like HEAD^[count])
|
||||
|
||||
:[range]Gblame [flags] If a range is given, just that part of the file will
|
||||
:Gblame [flags] {file} be blamed, and a horizontal split without
|
||||
scrollbinding is used. You can also give an arbitrary
|
||||
filename.
|
||||
|
||||
*fugitive-:Gbrowse*
|
||||
:Gbrowse Open the current file, blob, tree, commit, or tag
|
||||
in your browser at the upstream hosting provider.
|
||||
@ -238,7 +252,7 @@ operate on the file or hunk under the cursor are generally available in visual
|
||||
mode to operate on multiple files or partial hunks.
|
||||
|
||||
*fugitive-staging-mappings*
|
||||
Staging and resetting mappings ~
|
||||
Staging/unstaging mappings ~
|
||||
|
||||
*fugitive_s*
|
||||
s Stage (add) the file or hunk under the cursor.
|
||||
@ -249,11 +263,8 @@ u Unstage (reset) the file or hunk under the cursor.
|
||||
*fugitive_-*
|
||||
- Stage or unstage the file or hunk under the cursor.
|
||||
|
||||
*fugitive_CTRL-N*
|
||||
<C-N> Skip to the next file or hunk.
|
||||
|
||||
*fugitive_CTRL-P*
|
||||
<C-P> Skip to the previous file or hunk.
|
||||
*fugitive_U*
|
||||
U Unstage everything.
|
||||
|
||||
*fugitive_X*
|
||||
X Discard the change under the cursor. This uses
|
||||
@ -267,39 +278,53 @@ X Discard the change under the cursor. This uses
|
||||
*fugitive_=*
|
||||
= Toggle an inline diff of the file under the cursor.
|
||||
|
||||
*fugitive_<*
|
||||
< Insert an inline diff of the file under the cursor.
|
||||
|
||||
*fugitive_>*
|
||||
> Remove the inline diff of the file under the cursor.
|
||||
> Insert an inline diff of the file under the cursor.
|
||||
|
||||
*fugitive_i*
|
||||
i On untracked files, call |:Git| add --intent-to-add.
|
||||
Otherwise, move to next hunk, expanding inline diffs
|
||||
automatically.
|
||||
*fugitive_<*
|
||||
< Remove the inline diff of the file under the cursor.
|
||||
|
||||
*fugitive_dd*
|
||||
dd Perform a |:Gdiff| on the file under the cursor.
|
||||
*fugitive_gI*
|
||||
gI Open .git/info/exclude in a split and add the file
|
||||
under the cursor. Use a count to open .gitignore.
|
||||
|
||||
*fugitive_ds*
|
||||
ds Perform a |:Gsdiff| on the file under the cursor.
|
||||
|
||||
*fugitive_dv*
|
||||
dv Perform a |:Gvdiff| on the file under the cursor.
|
||||
*fugitive_I*
|
||||
I Invoke |:Git| add --patch or reset --patch on the file
|
||||
P under the cursor. On untracked files, this instead
|
||||
calls |:Git| add --intent-to-add.
|
||||
|
||||
*fugitive_d*
|
||||
Diff mappings ~
|
||||
*fugitive_dp*
|
||||
dp Invoke |:Git!| diff on the file under the cursor.
|
||||
Deprecated in favor of inline diffs. On untracked
|
||||
files, this instead calls |:Git| add --intent-to-add.
|
||||
Deprecated in favor of inline diffs.
|
||||
|
||||
P Invoke |:Git| add --patch or reset --patch on the file
|
||||
under the cursor.
|
||||
*fugitive_dd*
|
||||
dd Perform a |:Gdiffsplit| on the file under the cursor.
|
||||
|
||||
*fugitive_dv*
|
||||
dv Perform a |:Gvdiffsplit| on the file under the cursor.
|
||||
|
||||
*fugitive_ds* *fugitive_dh*
|
||||
ds Perform a |:Ghdiffsplit| on the file under the cursor.
|
||||
dh
|
||||
*fugitive_dq*
|
||||
dq Close all but one diff buffer, and |:diffoff|! the
|
||||
last one.
|
||||
|
||||
*fugitive_d?*
|
||||
d? Show this help.
|
||||
|
||||
*fugitive-navigation-mappings*
|
||||
Navigation mappings ~
|
||||
|
||||
*fugitive_<CR>*
|
||||
<CR> Open the file or |fugitive-object| under the cursor.
|
||||
in a blob, this and similar maps jump to the patch
|
||||
from the diff where this was added, or where it was
|
||||
removed if a count was given. If the line is still in
|
||||
the work tree version, passing a count takes you to
|
||||
it.
|
||||
|
||||
*fugitive_o*
|
||||
o Open the file or |fugitive-object| under the cursor in
|
||||
@ -313,6 +338,11 @@ gO Open the file or |fugitive-object| under the cursor in
|
||||
O Open the file or |fugitive-object| under the cursor in
|
||||
a new tab.
|
||||
|
||||
*fugitive_p*
|
||||
p Open the file or |fugitive-object| under the cursor in
|
||||
a preview window. In the status buffer, 1p is
|
||||
required to bypass the legacy usage instructions.
|
||||
|
||||
*fugitive_~*
|
||||
~ Open the current file in the [count]th first ancestor.
|
||||
|
||||
@ -322,9 +352,78 @@ P Open the current file in the [count]th parent.
|
||||
*fugitive_C*
|
||||
C Open the commit containing the current file.
|
||||
|
||||
*fugitive_CTRL-W_C*
|
||||
<C-W>C Open the commit containing the current file in a new
|
||||
split.
|
||||
*fugitive_CTRL-P* *fugitive_(*
|
||||
( Jump to the previous file, hunk, or revision.
|
||||
|
||||
*fugitive_CTRL-N* *fugitive_)*
|
||||
) Jump to the next file, hunk, or revision.
|
||||
|
||||
*fugitive_[c*
|
||||
[c Jump to previous hunk, expanding inline diffs
|
||||
automatically. (This shadows the Vim built-in |[c|
|
||||
that provides a similar operation in |diff| mode.)
|
||||
|
||||
*fugitive_]c*
|
||||
]c Jump to next hunk, expanding inline diffs
|
||||
automatically. (This shadows the Vim built-in |]c|
|
||||
that provides a similar operation in |diff| mode.)
|
||||
|
||||
*fugitive_[/* *fugitive_[m*
|
||||
[/ Jump to previous file, collapsing inline diffs
|
||||
[m automatically. (Mnemonic: "/" appears in filenames,
|
||||
"m" appears in "filenames".)
|
||||
|
||||
*fugitive_]/* *fugitive_]m*
|
||||
]/ Jump to next file, collapsing inline diffs
|
||||
]m automatically. (Mnemonic: "/" appears in filenames,
|
||||
"m" appears in "filenames".)
|
||||
|
||||
*fugitive_i*
|
||||
i Jump to the next file or hunk, expanding inline diffs
|
||||
automatically.
|
||||
|
||||
*fugitive_[[*
|
||||
[[ Jump [count] sections backward.
|
||||
|
||||
*fugitive_]]*
|
||||
]] Jump [count] sections forward.
|
||||
|
||||
*fugitive_[]*
|
||||
[] Jump [count] section ends backward.
|
||||
|
||||
*fugitive_][*
|
||||
][ Jump [count] section ends forward.
|
||||
|
||||
*fugitive_star*
|
||||
* One the first column of a + or - diff line, search for
|
||||
the corresponding - or + line. Otherwise, defer to
|
||||
built-in |star|.
|
||||
|
||||
*fugitive_#*
|
||||
# Same as "*", but search backward.
|
||||
|
||||
*fugitive_gu*
|
||||
gu Jump to file [count] in the "Untracked" or "Unstaged"
|
||||
section.
|
||||
|
||||
*fugitive_gU*
|
||||
gU Jump to file [count] in the "Unstaged" section.
|
||||
|
||||
*fugitive_gs*
|
||||
gs Jump to file [count] in the "Staged" section.
|
||||
|
||||
*fugitive_gp*
|
||||
gp Jump to file [count] in the "Unpushed" section.
|
||||
|
||||
*fugitive_gP*
|
||||
gP Jump to file [count] in the "Unpulled" section.
|
||||
|
||||
*fugitive_gr*
|
||||
gr Jump to file [count] in the "Rebasing" section.
|
||||
|
||||
*fugitive_gi*
|
||||
gi Open .git/info/exclude in a split. Use a count to
|
||||
open .gitignore.
|
||||
|
||||
*fugitive_c*
|
||||
Commit mappings ~
|
||||
@ -344,17 +443,74 @@ cva Amend the last commit with -v
|
||||
cf Create a `fixup!` commit for the commit under the
|
||||
cursor.
|
||||
|
||||
cF Create a `fixup!` commit for the commit under the
|
||||
cursor and immediately rebase it.
|
||||
|
||||
cs Create a `squash!` commit for the commit under the
|
||||
cursor.
|
||||
|
||||
cS Create a `squash!` commit for the commit under the
|
||||
cursor and immediately rebase it.
|
||||
|
||||
cA Create a `squash!` commit for the commit under the
|
||||
cursor and edit the message.
|
||||
|
||||
c<Space> Populate command line with ":Gcommit ".
|
||||
|
||||
*fugitive_cr*
|
||||
crc Revert the commit under the cursor.
|
||||
|
||||
crn Revert the commit under the cursor in the index and
|
||||
work tree, but do not actually commit the changes.
|
||||
|
||||
cr<Space> Populate command line with ":Grevert ".
|
||||
|
||||
*fugitive_cm*
|
||||
cm<Space> Populate command line with ":Gmerge ".
|
||||
|
||||
c? Show this help.
|
||||
|
||||
*fugitive_cb*
|
||||
*fugitive_co*
|
||||
Checkout/branch mappings ~
|
||||
|
||||
coo Check out the commit under the cursor.
|
||||
|
||||
cb<Space> Populate command line with ":G branch ".
|
||||
|
||||
co<Space> Populate command line with ":G checkout ".
|
||||
|
||||
cb? Show this help.
|
||||
co?
|
||||
|
||||
*fugitive_cz*
|
||||
Stash mappings ~
|
||||
|
||||
czz Push stash. Pass a [count] of 1 to add
|
||||
`--include-untracked` or 2 to add `--all`.
|
||||
|
||||
czw Push stash of worktree. Like `czz` with
|
||||
`--include-index`.
|
||||
|
||||
czA Apply topmost stash, or stash@{count}.
|
||||
|
||||
cza Apply topmost stash, or stash@{count}, preserving the
|
||||
index.
|
||||
|
||||
czP Pop topmost stash, or stash@{count}.
|
||||
|
||||
czp Pop topmost stash, or stash@{count}, preserving the
|
||||
index.
|
||||
|
||||
cz<Space> Populate command line with ":G stash ".
|
||||
|
||||
cz? Show this help.
|
||||
|
||||
*fugitive_r*
|
||||
Rebase mappings ~
|
||||
|
||||
ri Perform an interactive rebase. Uses ancestor of
|
||||
commit under cursor as upstream if available.
|
||||
u commit under cursor as upstream if available.
|
||||
|
||||
rf Perform an autosquash rebase without editing the todo
|
||||
list. Uses ancestor of commit under cursor as
|
||||
@ -382,21 +538,22 @@ rm Perform an interactive rebase with the commit under
|
||||
rd Perform an interactive rebase with the commit under
|
||||
the cursor set to `drop`.
|
||||
|
||||
r<Space> Populate command line with ":Grebase ".
|
||||
|
||||
r? Show this help.
|
||||
|
||||
*fugitive-misc-mappings*
|
||||
Miscellaneous mappings ~
|
||||
|
||||
*fugitive_gq* *fugitive_q*
|
||||
gq Close the status buffer.
|
||||
|
||||
*fugitive_R*
|
||||
R Reload the status buffer.
|
||||
|
||||
*fugitive_.*
|
||||
. Start a |:| command line with the file under the
|
||||
cursor prepopulated.
|
||||
|
||||
*fugitive_g?*
|
||||
g? Open this help.
|
||||
g? Show help for |fugitive-mappings|.
|
||||
|
||||
*fugitive-global-mappings*
|
||||
Global mappings ~
|
||||
@ -418,12 +575,13 @@ optional object, the default is the file in the index for work tree files and
|
||||
the work tree file for everything else. Example objects follow.
|
||||
|
||||
Object Meaning ~
|
||||
HEAD .git/HEAD
|
||||
refs/heads/x .git/refs/heads/x (in "common dir" if present)
|
||||
@ The commit referenced by @ aka HEAD
|
||||
master The commit referenced by master
|
||||
master^ The parent of the commit referenced by master
|
||||
master...other The merge base of master and other
|
||||
master: The tree referenced by master
|
||||
./master The file named master in the working directory
|
||||
:(top)master The file named master in the the work tree
|
||||
Makefile The file named Makefile in the work tree
|
||||
@^:Makefile The file named Makefile in the parent of HEAD
|
||||
:Makefile The file named Makefile in the index (writable)
|
||||
@ -457,6 +615,6 @@ ABOUT *fugitive-about*
|
||||
|
||||
Grab the latest version or report a bug on GitHub:
|
||||
|
||||
http://github.com/tpope/vim-fugitive
|
||||
https://github.com/tpope/vim-fugitive
|
||||
|
||||
vim:tw=78:et:ft=help:norl:
|
||||
|
Reference in New Issue
Block a user