Git vim diff能否使用耐心算法?
有没有办法将vimdiff的diff策略设置为耐心算法?它内置于git中,似乎比普通的差异要好得多 供参考:Git vim diff能否使用耐心算法?,git,vim,diff,Git,Vim,Diff,有没有办法将vimdiff的diff策略设置为耐心算法?它内置于git中,似乎比普通的差异要好得多 供参考: 参见:帮助区分 您可以将其设置为 set diffexpr=MyDiff() function MyDiff() let opt = "" if &diffopt =~ "iwhite" let opt = opt . "-w " endif silent execute "!git diff --no-index --patience "
- 参见
:帮助区分
您可以将其设置为
set diffexpr=MyDiff()
function MyDiff()
let opt = ""
if &diffopt =~ "iwhite"
let opt = opt . "-w "
endif
silent execute "!git diff --no-index --patience " . opt . v:fname_in . " " . v:fname_new . " > " . v:fname_out
endfunction
我尝试了这个方法,但是我没有让它工作,因为git输出统一的diff格式,而vim需要ed样式的格式(参见上面的文档)。您可能需要转换git diff的输出,这可能不是您想要的。我制作了一个插件,允许这样做。试试我的插件从2018年9月开始,vim附带了(git用于diff的库相同),这意味着vim和neovim现在本机支持patience diff(请参阅)。将此添加到vimrc:
如果有(“补丁-8.1.0360”)
设置diffopt+=内部,算法:耐心
恩迪夫
关于新的算法:耐心
和缩进启发式
diff选项的详细介绍,请访问。这是一个很棒的想法。我真的希望我们能得到一个完整的答案。