vim-fugitive

fugitive.vim: A Git wrapper so awesome, it should be illegal

  • 所有者: tpope/vim-fugitive
  • 平台:
  • 许可证:
  • 分类:
  • 主题:
  • 喜欢:
    0
      比较:

Github星跟踪图

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:

Bring up an enhanced version of git status with :G (also known as
:Gstatus). Press g? to bring up a list of maps for numerous operations
including diffing, staging, committing, rebasing, and stashing.

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 :Gdiffsplit 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.

Commit, merge, and rebase with :Gcommit, :Gmerge, and :Grebase, using
the current Vim instance to edit commit messages and the rebase todo list.
Use :Gpush, :Gfetch, and :Gpull to send and retrieve upstream changes.

:Gblame brings up an interactive vertical split with git blame
output. Press enter on a line to edit the commit where the line
changed, or o to open it in a split. When you're done, use :Gedit
in the historic buffer to go back to the work tree version.

:Gmove does a git mv on a file and simultaneously renames the
buffer. :Gdelete 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.
:Gclog and :Gllog load all previous commits into the quickfix or location
list. Give them a range (e.g., using visual mode and :'<,'>Gclog) to
iterate over every change to that portion of the current file.

:Git mergetool loads conflicts into the quickfix list. :Git difftool does
the same for any arbitrary set of changes.

: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.

Use :Gbrowse to open the current file on the web front-end of your favorite
hosting provider, with optional line range (try it in visual mode). Plugins
are available for popular providers such as GitHub,
GitLab, Bitbucket,
Gitee, Pagure, and
Phabricator.

Add %{FugitiveStatusline()} to 'statusline' to get an indicator
with the current branch in your statusline.

Last but not least, there's :Git for running any arbitrary command.

For more information, see :help fugitive.

Screencasts

Installation

Install using your favorite package manager, or use Vim's built-in package support:

mkdir -p ~/.vim/pack/tpope/start
cd ~/.vim/pack/tpope/start
git clone https://tpope.io/vim/fugitive.git
vim -u NONE -c "helptags fugitive/doc" -c q

FAQ

Why can't I enter my password when I :Gpush?

It is highly recommended to use SSH keys or credentials caching to avoid
entering your password on every upstream interaction. If this isn't an
option, the official solution is to use the core.askPass Git option to
request the password via a GUI. Fugitive will configure this for you
automatically if you have ssh-askpass or git-gui installed; otherwise it's
your responsibility to set this up.

If you absolutely must type in your password by hand, sidestep Fugitive and
use :terminal git push.

Self-Promotion

Like fugitive.vim? Follow the repository on
GitHub and vote for it on
vim.org. And if
you're feeling especially charitable, follow tpope on
Twitter and
GitHub.

License

Copyright (c) Tim Pope. Distributed under the same terms as Vim itself.
See :help license.

主要指标

概览
名称与所有者tpope/vim-fugitive
主编程语言Vim Script
编程语言Vim script (语言数: 1)
平台
许可证
所有者活动
创建于2009-10-09 01:09:49
推送于2025-02-19 22:44:39
最后一次提交2025-02-19 13:08:32
发布数17
最新版本名称v3.7 (发布于 2022-06-07 01:04:02)
第一版名称v1.0 (发布于 2010-02-15 14:05:24)
用户参与
星数20.8k
关注者数226
派生数1k
提交数2.2k
已启用问题?
问题数1847
打开的问题数58
拉请求数115
打开的拉请求数21
关闭的拉请求数289
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?