簡體   English   中英

比較 Sublime Text 中兩個文件的內容

[英]Comparing the contents of two files in Sublime Text

我有兩個非常相似的開源項目的兩個克隆存儲庫,我一直在 Sublime Text 2 的不同實例中進行處理,以達到我想要的結果。 使用了這兩個項目的代碼。 我一直在使用 Git 作為我項目的版本控制,但沒有包含原始項目。 因此,我希望能夠快速比較原始項目的兩個文件的內容,並比較它們與我的項目之間的差異。

我希望 Sublime Text 2 具有“比較文件”功能,但我似乎無法在設置或在線中找到與之相關的任何內容。 用於完成此任務的第三方 ST2 包也可以很好地工作。 在 ST2 文本編輯器中可以完成這樣的任務嗎?

您實際上可以直接在 Sublime Text 中本地比較文件。

  1. 通過Open Folder...或在項目中導航到包含它們的Open Folder...
  2. 在側邊欄中選擇要比較的兩個文件(即,在 Windows 上按住Ctrl或在 macOS 上按住
  3. 右鍵單擊並選擇Diff files...選項。

比較 Side-By-Side對我來說似乎是最方便的,盡管它不是最受歡迎的:

UPD:我需要補充一點,這個插件可以在比較大文件時凍結 ST。 如果您要比較大文本,這當然不是最好的決定。

Package Control 提供了許多差異插件 我使用了Sublimerge Pro ,它運行良好,但它是一個商業產品(具有無限試用期)並且是封閉源代碼,因此如果您想更改某些內容,則無法對其進行調整,或者僅查看其內部結構。 從安裝數量來看, FileDiffs非常流行,因此您可能想嘗試一下。

更新
(鑒於贊成票,我覺得需要一個完整的分步解釋......)

  1. 在菜單欄中單擊File -> Open Folder...
  2. 選擇一個文件夾(實際文件夾並不重要,這一步只是為了讓FOLDERS側邊欄可用)
  3. 如果尚未顯示側邊欄,請通過View -> Side Bar -> Show Side Bar使其顯示
  4. 使用此FOLDERS標題的側欄導航到您要比較的第一個文件。
  5. 選擇它(單擊它),按住 ctrl 並選擇第二個文件。
  6. 選擇兩個文件后,右鍵單擊兩個文件之一並選擇Diff Files...

現在應該有一個新選項卡顯示比較。


原始簡短回答:
注意:

“差異文件”僅與“文件夾”側邊欄一起出現(打開文件夾:文件->打開文件夾),而不與“打開文件”側邊欄一起出現。

2018 年 1 月更新- 特別適用於 Sublime/Mac

(這與 Marty F 的回復非常相似,但解決了之前回復中的一些問題,結合了幾個不同的建議,並討論了最初給我帶來問題的關鍵區別。)

我在 Mac 上使用 Sublime Text 3 (build 3143) 並嘗試了大約 30 分鍾來找到這個文件比較功能。 我之前在 Sublime/Mac 上使用過它沒有任何問題,但這一次,它更棘手。 但是,我終於想通了。

  1. 文件格式不需要是 UTF-8 我已經成功地比較了 UTF-8、ISO-8559-1 和 Windows-1252 文件。

  2. Sublime/Mac 上沒有 File > Open Folders 上面的許多說明以“選擇文件 > 打開文件夾”開頭,但在 Sublime/Mac 上不存在。

  3. 文件比較基於項目工作 如果要比較兩個文件,必須將它們保存到磁盤和當前項目的一部分。

  4. 打開項目的方法

  • 如果 Sublime/Mac 未運行,或者它正在運行但沒有打開任何窗口,請將文件夾拖到 Sublime 應用程序上。
  • 如果 Sublime/Mac 正在運行,請選擇“文件 > 打開”,導航到所需的文件夾,不要選擇文件或文件夾,然后單擊“打開”。
  1. 將文件夾添加到項目中 如果要比較的文件不屬於同一層次結構,請先打開包含其中一個文件的文件夾。 然后,選擇“項目 > 將文件夾添加到項目”,導航到您想要的文件夾並單擊“打開”。 您現在將在側邊欄中看到兩個根級文件夾。

  2. 側邊欄必須可見 您可以“查看 > 側邊欄 > 顯示側邊欄”或使用快捷鍵 Command-K、Command-B。

  3. 必須關閉(即保存)文件才能進行比較 單擊側欄中的文件不會打開該文件,但會顯示它。 如果文件在側欄頂部的“打開文件”部分中列出,您可以判斷該文件是否已打開。 雙擊文件或修改文件將自動將文件狀態更改為“打開”。 在這種情況下,請務必在嘗試比較之前將其關閉。

  4. 從文件夾層次結構中選擇文件 標准MAC shorcut這里,()單擊第一個文件,然后命令單擊第二個文件。 當您選擇第一個文件時,您會看到它的內容,但它沒有打開。 然后,當您按住 Command 鍵單擊第二個文件時,您將看到內容,但同樣,兩者都未打開。 您會注意到編輯面板中只有一個選項卡。

  5. Control-click 與 right-click 不同 這就是得到我的人。 我使用我的觸控板,並且經常使用 Control-click 作為右鍵單擊或輔助單擊。 對我不起作用 但是,由於我在“系統偏好設置”中將觸控板配置為使用觸控板的右下角作為右鍵單擊,因此可以正常工作,顯示上下文菜單,其中包含“刪除”、“在 Finder 中顯示”和... “差異文件……”

瞧!

2017 年 10 月更新我從不知道 Sublime Text 中存在此功能,但界面似乎與之前的答案略有不同 - 至少在 OS X 上。以下是我遵循的詳細步驟:

  1. 在菜單欄中單擊文件 -> 打開...
  2. 導航到包含要比較的文件的文件夾並選擇文件夾,單擊打開按鈕,這將顯示文件夾側邊欄
  3. 在 FOLDERS 邊欄中,單擊要比較的第一個文件
  4. 在 Windows 上按住 Ctrl 或在 OS X 上按住 ⌘,然后單擊第二個文件
  5. 選擇兩個文件后,右鍵單擊其中一個並選擇 Diff Files...

這將打開一個顯示比較的新選項卡。 第一個文件為紅色,第二個文件為綠色。

View - Layout 和 View - Groups 將在最新的 Sublime 3 中進行

例如:

Shift + Alt + 2 --> 創建 2 列

Ctrl + 2 --> 將所選文件移至第 2 列

這是並排比較。 對於實際的差異,還有其他已經提到的差異功能。 不幸的是,我找不到讓列同時滾動的方法,這將是一個不錯的功能。

僅當文件位於作為項目一部分的文件夾中時,差異選項才會出現。

實際上,您可以直接在 Sublime Text 中比較本地文件。

通過打開文件夾...或在項目中導航到包含它們的文件夾 在側欄中選擇要比較的兩個文件(即,在 Windows 上按住 Ctrl 或在 macOS 上按住 ⌘)右鍵單擊並選擇 Diff 文件...選項。

沒有人在談論 Linux,但以上所有答案都有效。 只需使用 Ctrl 選擇多個文件。 如果您想並排比較, Meld很可愛。

還有一個 BeyondCompare 插件。 它會在BeyondCompare窗口中打開 2 個文件。 從 sublime 窗口打開文件非常方便。

您將需要系統中存在 BC3 安裝。 安裝插件后,您必須提供安裝路徑。

例子:

{
    //Define a custom path to beyond compare
    "beyond_compare_path": "G:/Softwares/Beyond Compare 3/BCompare.exe"
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM