不是一堆 + 與 −。變更就在渲染後的頁面上。
逐行差異是為程式碼設計的。對於文件,你想以文字讀出改了什麼。DotMD 在渲染後的頁面上顯示版本之間的變更。
需要 macOS 14 或以上版本。閱讀免費;編輯與審閱為一次付費。
快速解答
DotMD 會為你開啟的每個 Markdown 檔案保留較早的版本,並在渲染後的頁面上顯示它們之間的變更:新增的段落、清單項目與表格列為綠色,刪除的為紅色並加刪除線。開啟 File → Show Version History(⌥⌘Y),選擇一個版本,還原它,或逐項復原變更。
為什麼逐行差異不適合讀文章
逐行差異是一行一行比對文字。在程式碼中這行得通,因為一行就是一個意義單位。在文件中就不行:一個段落通常是很長的一行,所以只改一個字,整個段落就顯示成紅色刪除、綠色新增。重新折行也會有同樣的效果。最後你得在裡面找那個改過的字。
表格更糟。一個儲存格改了,就變成一整列直線與連字號的改動。你想看的,是渲染後的表格,並標出改動的那一列。
DotMD 在你正在閱讀的頁面上顯示差異:標題、段落、清單項目、程式碼區塊與表格列,新增的為綠色,刪除的為紅色並加刪除線。
開啟版本記錄
按工具列上的 ⑂ 按鈕、⌥⌘Y,或選擇 File → Show Version History。視窗會切換為歷史模式,就像 Google Docs。版本依日期列在右側,最上面是 Current version。所選的版本會取代頁面,以渲染後的樣子顯示,並標出自前一版以來的變更。
- Highlight changes 可關閉色彩,讓你看到版本原本的樣子。
- Restore 會放回所選的版本。目前的文字會先存成一個版本,所以還原本身也可以復原。
- Done(⌘↩)離開歷史模式。
版本以快照的形式儲存:加入資料夾時、DotMD 啟動時、AI 代理、git 或其他編輯器等其他 App 更改檔案時,以及你開啟、離開或結束編輯時。較舊的版本會像 Time Machine 一樣被稀疏化,每個檔案最多 200 個。歷史記錄只是方便功能,不是備份。
復原一項變更,保留其餘
還原版本會放回整個檔案。你常常想要的更少:保留新的文字,只除了一個段落。有了 DotMD Reviewer,在目前版本上,每個變更的區塊都會把紅色的舊文字顯示在綠色的新文字正上方。
-
標記要復原的項目
把游標移到變更上,點擊紅色文字上的 ↩ Revert。只是新增的段落則改為 ✕ Remove。頁面會顯示它之後的樣子。
-
套用
點擊 Apply Reverts。檔案會寫入,只復原那些變更,其餘保持不變。Cancel 會捨棄標記。之前的文字會存成一個版本,所以這一步也可以復原。
AI 代理編輯檔案之後
自你上次開啟之後被其他 App 更改過的檔案,會在側邊欄出現橘色圓點。開啟它,DotMD 會直接帶你到它的變更,自你上次看過之後的一切都會標示出來。如果開啟中的檔案有變動,橫幅會告訴你新增與刪除了幾行,Show Changes 會開啟比較。
當你審閱代理對你註解的修正時,變更會顯示在每則註解旁,沒有任何註解要求的編輯會被算作 other changes。代理的意外之舉就藏在那裡。請見審閱變更。
git diff 還是 DotMD?
用 git 審閱 pull request 中的程式碼:逐行差異就是為此而設。用 DotMD 閱讀文件改了什麼:規格、計畫、README、比較表。兩者並不衝突。DotMD 不需要儲存庫,也能抓到從未提交的變更。