4

我的 ~/.gitconfig 中有以下配置

[diff]
    tool = vimdiff
[diftool]
    prompt = false

当我启动 git difftool 时,它默认以只读模式打开缓冲区。我用它在提交之前查看更改并说我发现了一些小的更改,例如我没有删除的注释行或 JS console.log 语句,我被迫退出该工具并打开文件并进行更改。我非常想要一种在视觉差异窗口本身内进行更改的方法。

http://gitlog.wordpress.com/2011/03/30/git-1-7-4-2/ 说““git difftool”没有告诉 (g)vimdiff 它正在读取的文件是以只读方式打开。” 由此我认为这种只读行为是需要的。

  1. 我很想知道为什么将 difftool 中的只读行为选为默认设置。

  2. 有什么方法可以配置 difftool 以允许读/写?

  3. git、vimdiff 和 dirdiff中,我看到 vim 和 git diffall 脚本的逃犯插件也可以作为替代品,以使这个 diff 审查过程更容易。使用逃犯会打开使用读/写视觉差异模式的可能性吗?

4

2 回答 2

8

如果您不使用逃犯,您可以切换只读模式(每个窗格!)

:set readonly!

或者

:set ro!
于 2013-10-16T04:42:16.797 回答
4

Fugitive 将允许您在比较时更改工作副本文件。只需运行:Gdiff,就会出现带有索引版本的垂直拆分。现在您可以:diffput(或 short dp)在工作副本中将块放入索引文件中,或者从索引文件中:diffget(或 short do)从工作副本中获取块。在索引文件中拥有所需的所有内容后,保存它,这将是您的隐藏版本。

真正帮助我理解这个过程的是关于 Fugitive.vim 的 vimcast #31 到 #35:http:
//vimcasts.org/episodes/archive

于 2013-04-26T12:31:27.070 回答