如何让 git 在 vi​​m 中显示更改,就像 hg 使用 hgeditor 脚本那样?

发布于 2024-10-13 16:26:01 字数 210 浏览 5 评论 0原文

Mercurial 的一个有趣功能是能够查看将在 vim 拆分中提交的更改(请参阅 DiffsInCommitMessageInVIM)。

关于如何使用 git 执行此操作有任何提示吗?

An interesting feature in mercurial is the ability to view the changes that will be committed in a vim split (see DiffsInCommitMessageInVIM).

Any hint on how to do so with git ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

落花随流水 2024-10-20 16:26:01

假设您已启用语法,Vim 会将 git 提交消息检测为文件类型。从突出显示中应该可以明显看出这一点。不太明显的部分是它还有一个用于 git 提交(和其他 git 东西)的文件类型插件。确保您已启用这些(文件类型插件),然后将定义一个有用的命令:DiffGitCached。只要运行它,它就会将差异扔到预览窗口中。

插件中该命令定义旁边的注释:

自动比较可以通过以下方式完成:

autocmd 文件类型 gitcommit DiffGitCached | wincmd p

文件类型插件存储在 /vimXX/ftplugin/git*.vim 中,例如 /usr/share/vim/vim70/ftplugin/gitcommit.vim,如果你好奇的话来看看吧!

Assuming you've got syntax enabled, Vim detects git commit messages as a filetype. This should be obvious from highlighting. The much less obvious part is that it also has a filetype plugin for git commits (and other git things). Make sure you have those enabled (filetype plugin on), and then there will be a helpful command defined: DiffGitCached. Just run that, and it'll toss a diff into a preview window.

A comment next to the definition of that command in the plugin:

Automatically diffing can be done with:

autocmd FileType gitcommit DiffGitCached | wincmd p

The filetype plugins are stored in /vimXX/ftplugin/git*.vim, e.g. /usr/share/vim/vim70/ftplugin/gitcommit.vim, if you're curious to have a look!

格子衫的從容 2024-10-20 16:26:01

我已经修改了 HGEDITOR.SH 脚本以支持 Git,您可以在此处克隆它:

git clone git://github.com/dharrigan/giteditor.git

享受吧!

I've modified the HGEDITOR.SH script to support Git, you can clone it here:

git clone git://github.com/dharrigan/giteditor.git

Enjoy!

薯片软お妹 2024-10-20 16:26:01

我强烈推荐 tpopes 的 vim-fugitive 插件来使用 git。

您可以在此处找到它

I highly recommend tpopes's vim-fugitive plugin for working with git.

You can find it here

幽蝶幻影 2024-10-20 16:26:01

如果您使用 git 2.9 及更高版本,则可以通过运行 git config --global commit.verbose true 来获得此行为。

资料来源:此答案

If you're using git 2.9 and above, you can get this behaviour by running git config --global commit.verbose true.

Source: this answer.

瞎闹 2024-10-20 16:26:01

我使用来自 www.vim.org 的 Pierre Habouzit 的 git.vim。将其放入 ~/.vim/ftplugin 中,您应该已准备就绪(假设 ~/.vimrc 中通常的文件类型插件缩进)。

I use Pierre Habouzit's git.vim from www.vim.org. Drop it into ~/.vim/ftplugin and you should be all set (assuming the usual filetype plugin indent on in your ~/.vimrc).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文