gpt4 book ai didi

vimdiff:左右 Pane 的不同颜色

转载 作者:行者123 更新时间:2023-12-02 04:33:40 25 4
gpt4 key购买 nike

我已经开始使用 vimdiff 并尝试为它设置颜色。 DiffAddDiffDelete小组工作正常,但我想要 DiffChangeDiffText分别为文件的旧版本和新版本使用不同的颜色。 (具体来说,旧文件为红色,新文件为绿色。例如,这就是 Visual Studio Code 的工作方式。

问题是高亮颜色在缓冲区之间共享。有没有解决的办法?我希望有一种方法可以编写一个函数来重新映射 DiffChange 的所有实例至 MyDiffChange在一个 Pane 中,但我还没有找到一种方法来做到这一点。

即使是相当笨拙的解决方案也可以,因为它只需要适用于这个特定的用例。

最佳答案

高亮定义确实是全局范围的,并且大部分差异处理都是固定的和内置的。你是对的,Vim 不支持这一点。

作为一个黑客,您可以通过 matchadd() 覆盖突出显示具有更高的优先级。这些定义是窗口范围的,因此您可以根据文件所代表的内容定义不同的定义(我将使用缓冲区局部变量 b:version ,其值为 oldnew )。您需要检测 Vim 认为已更改的行,通过自己再次比较文件,或通过 diff_hlID() .看看diffchar.vim plugin为了想法;该插件实现了类似的覆盖。

关于vimdiff:左右 Pane 的不同颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46020283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com