作者ViewMoon (陽春白雪)
看板Editor
標題Re: [vim ] vimdiff by patience 演算法
時間Wed Nov 27 23:20:08 2019
vim 8.1.0360 開始, vim 原生支援 patience algorithm
可以在 .vimrc 加上這段後支援
if has("patch-8.1.0360")
set diffopt+=internal,algorithm:patience,indent-heuristic
endif
相關 links:
https://github.com/chrisbra/vim-diff-enhanced
https://vimways.org/2018/the-power-of-diff/
※ 引述《ViewMoon (陽春白雪)》之銘言:
: 在看了 #1L06ggBF [vim ] EnhancedDiff 套件
: https://www.ptt.cc/bbs/Editor/M.1426090666.A.2CF.html
: 之後找的相關資料
: * diff 的 output format 是 ed
: * git diff 的 output format 不同, 不能直接用 diffexpr 呼叫
: git diff --patience --no-index
: 而是需要呼叫後再轉換它的 output format
: * 2009 Bram Cohen 提出 patience algorithm
: * 2015/2/25 EnhancedDiff 套件 release, 需 vim version >= 7.4
: * 2014/7/8 Takaaki Kasai 寫了 ruby script 去轉換 output format
: https://github.com/neovim/neovim/issues/1466
: 不限 vim version
: * 除了 git 有實作 patience algorithm
: 還有 patdiff library (goole 找 haskell patience)
: 但找不到其它 patience diff 的 standalone 程式
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.104.66 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1574868013.A.E55.html
推 Bellkna: 感謝告知XD 這樣又可以少裝一個script 11/29 19:39
推 Bschord: 推 11/30 01:37
推 goldie: 推 12/01 20:35
推 mars90226: 查了一下,neovim 0.4.3 有實做此功能 12/07 17:30
→ mars90226: neovim user 直接更新到目前最新 stable 就能用了 12/07 17:30