到目前为止,我正在尝试了解如何与:Glog
结合使用:Gdiff
,以创建一个很好的概述,例如Atom 编辑器的git-time-machine插件:
存在3个窗口的概述
- 左侧:工作副本中的当前文件。
- 右侧:文件的先前版本之一。
- 在底部:一个快速修复列表,其中包含来自历史记录的条目。
当我从 quickfix 列表中选择一个提交时,该版本将被放置在右侧窗口中。不要忘记突出显示的差异。
有人能帮我吗?:)
到目前为止,我正在尝试了解如何与:Glog
结合使用:Gdiff
,以创建一个很好的概述,例如Atom 编辑器的git-time-machine插件:
存在3个窗口的概述
当我从 quickfix 列表中选择一个提交时,该版本将被放置在右侧窗口中。不要忘记突出显示的差异。
有人能帮我吗?:)
以下是一些可用于模拟您所描述行为的粗略版本的命令。
:only
以关闭任何其他拆分窗口:Glog
以使用文件的所有过去修订版填充快速修复列表:cnext
使用and前后遍历 quickfix 列表:cprev
到目前为止,这是基本用法。现在假设您发现自己正在查看要与工作副本进行比较的文件的先前版本。您可以这样做:
:vsplit
将您的工作区分成两个拆分窗口<C-w><C-h>
激活左拆分:Gedit
,它会加载您正在查看的文件的工作副本版本:windo diffthis
繁荣!左边是工作副本,右边是以前的版本。
现在假设您希望将工作副本保留在左侧拆分中,同时在右侧拆分中遍历其他过去的版本:
<C-w><C-l>
激活右拆分:cprev
/:cnext
在快速修复列表中后退/前进(右侧拆分窗口将移出差异模式,但左侧拆分仍处于差异模式):diffthis
以激活当前缓冲区和工作副本之间的差异完成查看差异后,运行:
:diffoff!
禁用差异模式:only
您的工作区折叠成一个拆分:Gedit
切换回您正在使用的文件的工作副本您可以使用 Vimscript 自动执行其中一些步骤,还可以按照您建议的方式在屏幕底部添加快速修复窗口。这将是一个整洁的插件!就个人而言,我很乐意手动运行这些命令。这个工作流程在写出来时看起来很复杂,但随着练习它可以成为第二天性。