So sánh nội dung của hai tệp trong Văn bản cao siêu


397

Tôi có hai kho lưu trữ nhân bản của hai dự án nguồn mở rất giống nhau, mà tôi đã làm việc trong các trường hợp khác nhau trong Sublime Text 2 để đi đến kết quả mong muốn của mình. Mã từ cả hai dự án này đã được sử dụng. Tôi đã sử dụng Git làm kiểm soát phiên bản cho dự án của mình, nhưng chưa bao gồm các dự án ban đầu. Vì vậy, tôi muốn có thể nhanh chóng so sánh nội dung của hai tệp của dự án ban đầu và so sánh sự khác biệt giữa chúng và dự án của tôi.

Tôi đã hy vọng rằng Sublime Text 2 sẽ có tính năng "So sánh tệp", nhưng dường như tôi không thể tìm thấy bất cứ điều gì liên quan đến nó trong cài đặt hoặc trực tuyến. Gói ST2 của bên thứ ba để thực hiện nhiệm vụ này cũng sẽ hoạt động tốt. Là một nhiệm vụ có thể thực hiện trong trình soạn thảo văn bản ST2?

Câu trả lời:


705

Bạn thực sự có thể so sánh các tệp tự nhiên ngay trong Sublime Text.

  1. Điều hướng đến thư mục chứa chúng thông qua Open Folder...hoặc trong một dự án
  2. Chọn hai tệp (nghĩa là bằng cách giữ Ctrltrên Windows hoặc trên macOS) bạn muốn so sánh trong thanh bên
  3. Nhấp chuột phải và chọn Diff files...tùy chọn.


19
@Derek: sử dụng select có thể chọn nhưng không thể tìm thấy tùy chọn tệp diff khi nhấp chuột phải, chỉ có tùy chọn đóng khi nhấp chuột phải.
Mohamed Hussain

65
@MohamedHussain Thực sự có hai sidebars khác nhau và bạn cần phải ở bên phải để làm việc này. Nếu bạn đi đến Tệp> Mở Thư mục ..., Chọn thư mục mà tệp của bạn đang ở, sau đó chọn Xem> Thanh bên> Hiển thị Thanh bên, bạn sẽ nhận được thư mục bạn cần. Bạn có được cái khác bằng cách chọn View> Side Bar> Show Open Files, nhưng cái này sẽ không cho phép bạn sử dụng tùy chọn Diff Files ....
Jeramy

25
Thật không may, điều này dường như không còn hoạt động nữa trong bản dựng tuyệt vời 3103 trên mac. Ngay sau khi tôi nhấp chuột phải vào tệp thứ hai sẽ được bỏ chọn,
merlin

8
Không hoạt động với tôi trong Build 3144 trên OSX. Tôi có thể chọn hai tệp trong giao diện tệp, nhưng khi tôi nhấn Ctrl chỉ có một tệp được chọn và tùy chọn khác không có ở đó.
James J

4
Không làm việc cho tôi quá trong 3114 - cửa sổ. Không có tùy chọn khác khi tôi nhấp chuột phải vào tập tin.
dangsonbk

216

So sánh Side-By-Side có vẻ thuận tiện nhất với tôi mặc dù nó không phải là phổ biến nhất:

CẬP NHẬT: Tôi cần thêm rằng plugin này có thể đóng băng ST trong khi so sánh các tệp lớn. Nó chắc chắn không phải là quyết định tốt nhất nếu bạn sẽ so sánh các văn bản lớn.


11
Đây là giải pháp IMO dễ dàng và thuận tiện nhất. Hoạt động tốt trong ST3
mihai

5
Hoạt động tốt và có thể so sánh các tệp từ các vị trí khác nhau mà tôi chưa quản lý để so sánh với bản gốc.
Leo

3
Điều này cũng hoạt động với nội dung được sao chép trong các tab chưa được lưu mới, tiện dụng trong một nhúm.
nhạc chuông

1
Tôi ước tôi đã nhìn thấy điều này sớm hơn, sẽ cứu tôi một ngày không hiệu quả.
0_o

1
So sánh Side-By-Side chỉ giúp tôi.
noob

61

Có một số plugin khác có sẵn thông qua Gói kiểm soát. Tôi đã sử dụng Sublimerge Pro , hoạt động đủ tốt, nhưng đó là một sản phẩm thương mại (với thời gian dùng thử không giới hạn) và nguồn đóng, vì vậy bạn không thể điều chỉnh nó nếu bạn muốn thay đổi thứ gì đó, hoặc chỉ nhìn vào phần bên trong của nó. FileDiffs khá phổ biến, được đánh giá theo số lượng cài đặt, vì vậy bạn có thể muốn dùng thử.


2
Tôi hiện đang sử dụng FileDiff và nó hoạt động như một bùa mê. Cảm ơn, câu trả lời được chấp nhận.
LanceLafontaine

1
Tôi không thể tìm ra cách sử dụng FileDiffs. Bạn có thể mô tả ngắn gọn làm thế nào tôi có thể so sánh hai tập tin với nó.
Jamil Ahmed

4
@LanceLafontaine Tôi thường sẽ không làm điều này, nhưng bạn có phiền khi thay đổi câu trả lời được chấp nhận cho câu trả lời của Derek dưới đây không? Không ai trong chúng tôi thực sự cần điểm, nhưng tôi không biết có một khác biệt tích hợp vào thời điểm đó. Bây giờ tôi sử dụng nó mọi lúc khi ở Sublime. Lần duy nhất tôi không làm là khi tôi cần các tính năng mở rộng của một công cụ bên ngoài.
MattDMo

Những plugin nào trong số đó có thể phát hiện chuyển động của toàn bộ khối văn bản? Và không chỉ nói một số dòng bị thiếu ở đây và xuất hiện ở đó mà còn hiển thị với mũi tên làm thế nào họ di chuyển?
skan

Nhờ câu trả lời này, tôi đã cài đặt FileDiffs và thêm commad để sử dụng TortoiseMerge.exe để so sánh. Đó là một cải tiến lớn cho việc tôi sử dụng so sánh mã siêu phàm mỗi ngày. Cảm ơn!
lyubeto

48

CẬP NHẬT
(Với các upvote, tôi cảm thấy cần có một lời giải thích từng bước hoàn chỉnh ...)

  1. Trong thanh Menu bấm vào File->Open Folder...
  2. Chọn một thư mục (thư mục thực tế không thực sự quan trọng, bước này chỉ là để làm cho FOLDERSthanh bên có sẵn)
  3. Nếu chưa có Side Bar nào được hiển thị, hãy làm cho nó xuất hiện qua View-> Side Bar->Show Side Bar
  4. Sử dụng FOLDERSThanh bên có tiêu đề này để điều hướng đến tệp đầu tiên bạn muốn so sánh.
  5. Chọn nó (nhấp vào nó), giữ phím ctrl và chọn tệp thứ hai.
  6. Có hai tệp được chọn, nhấp chuột phải vào một trong hai và chọn Diff Files...

Cần có một Tab mới hiển thị so sánh.


Câu trả lời ngắn gọn gốc:
Lưu ý rằng:

"Tập tin khác" chỉ xuất hiện với thanh bên "thư mục" (để mở thư mục: Tệp-> Thư mục mở), không xuất hiện với thanh bên "mở tệp".


Có cách nào để chọn những dòng khác nhau? Một cái xuất hiện màu đỏ và cái còn lại màu xanh lục
zeristor

1
Bạn có ý nghĩa gì khi chọn? Làm nổi bật chúng và ví dụ sao chép chúng? Hoặc giải nén chúng? Cảm ơn bạn đã làm rõ!
langlauf.io

Vì các dòng bị thiếu có tiền tố là '-' Tôi đã chọn một dòng và sau đó khớp tất cả chúng, chọn dòng đầy đủ và sao chép. Một cách xây dựng sẽ chỉ là nhiều lông tơ để quên.
zeristor

5
Tôi nghĩ rằng đáng để giải thích rằng cả hai tập tin không thể mở được. Nếu bạn nhân đôi số lần nhấp vào cả hai để cả hai được mở, thì bạn không thể đánh dấu cả hai tệp trong thanh bên bằng nút ctrl. Bạn phải đảm bảo một trong số chúng được đóng trước khi bạn có thể chọn cả hai tệp. Tôi phát hiện ra điều này bởi vì tôi đã mở cả hai tệp và muốn sử dụng các tệp khác ...
Battousai

1
@NaveenDA Tôi đã điều chỉnh câu trả lời của mình để có thể xóa liên kết bị hỏng. Cảm ơn các gợi ý!
langlauf.io

25

CẬP NHẬT JAN 2018 - đặc biệt dành cho Sublime / Mac

(Điều này rất giống với câu trả lời của Marty F, nhưng giải quyết một số vấn đề từ các phản hồi trước đó, kết hợp một số đề xuất khác nhau và thảo luận về sự khác biệt quan trọng khiến tôi gặp vấn đề lúc đầu.)

Tôi đang sử dụng Sublime Text 3 (bản dựng 3143) trên Mac và đã thử khoảng 30 phút để tìm thấy tính năng So sánh tệp này. Tôi đã sử dụng nó trước đây trên Sublime / Mac mà không gặp vấn đề gì, nhưng lần này, nó phức tạp hơn. Nhưng, cuối cùng tôi đã tìm ra nó.

  1. Định dạng tệp không cần phải là UTF-8 . Tôi đã so sánh thành công các tệp là UTF-8, ISO-8559-1 và Windows-1252.

  2. Không có Tệp> Mở Thư mục trên Sublime / Mac . Nhiều hướng dẫn ở trên bắt đầu bằng "Chọn tệp> Mở thư mục" nhưng không tồn tại trên Sublime / Mac.

  3. So sánh tệp hoạt động trên cơ sở Dự án . Nếu bạn muốn so sánh hai tệp, chúng phải được lưu vào đĩa và một phần của dự án hiện tại.

  4. Cách để mở một dự án

    • Nếu Sublime / Mac không chạy hoặc nếu nó chạy nhưng không có cửa sổ nào được mở, hãy kéo thư mục vào ứng dụng Sublime.
    • Nếu Sublime / Mac đang chạy, chọn "Tệp> Mở", điều hướng đến thư mục mong muốn, không chọn tệp hoặc thư mục và nhấp vào "Mở".
  5. Thêm một thư mục cho một dự án . Nếu các tệp bạn muốn so sánh không phải là một phần của cùng một cấu trúc phân cấp, trước tiên hãy mở thư mục chứa một trong các tệp. Sau đó, chọn "Dự án> Thêm thư mục vào dự án", điều hướng đến thư mục bạn muốn và nhấp vào "Mở". Bây giờ bạn sẽ thấy hai thư mục cấp gốc trong thanh bên của bạn.

  6. Thanh bên phải được nhìn thấy . Bạn có thể "Xem> Thanh bên> Hiển thị thanh bên" hoặc sử dụng phím tắt, Command-K, Command-B.

  7. Các tập tin phải được đóng lại (tức là đã lưu) để so sánh . Bấm một lần vào một tệp trong Thanh bên không mở tệp, nhưng nó sẽ hiển thị nó. Bạn có thể biết nếu một tệp được mở nếu nó được liệt kê trong phần "Mở tệp" ở đầu Thanh bên. Bấm đúp vào tệp hoặc thực hiện sửa đổi tệp sẽ tự động thay đổi trạng thái của tệp thành "Mở". Trong trường hợp này, hãy chắc chắn đóng nó trước khi thử so sánh.

  8. Chọn tập tin từ hệ thống phân cấp thư mục . Mac shorcut tiêu chuẩn ở đây, ( đơn ) bấm vào tệp đầu tiên, sau đó bấm chuột vào tệp thứ hai. Khi bạn chọn tệp đầu tiên, bạn sẽ thấy nội dung của nó, nhưng nó không mở. Sau đó, khi bạn nhấp chuột vào tệp thứ hai, bạn sẽ thấynội dung của nó , nhưng một lần nữa, không mở. Bạn sẽ chỉ nhận thấy một tab trong bảng chỉnh sửa.

  9. Nhấp chuột điều khiển không giống như nhấp chuột phải . Đây là một trong đó có tôi. Tôi sử dụng bàn di chuột của mình và thường dùng đến Nhấp chuột điều khiển dưới dạng nhấp chuột phải hoặc nhấp chuột phụ. Điều này không làm việc cho tôi. Tuy nhiên, vì tôi đã định cấu hình bàn di chuột của mình trong Tùy chọn hệ thống để sử dụng góc dưới bên phải của bảng cảm ứng của mình dưới dạng nhấp chuột phải, hoạt động, hiển thị menu theo ngữ cảnh, với "Xóa", "Hiển thị trong Trình tìm kiếm" và .... "Tập tin khác ..."

Võngà! Tôi hi vọng điêu nay se giup được ai đo.


2
Có thể làm một so sánh thư mục thay vì so sánh tập tin?
DCBoy

1
trời ạ bạn vừa lưu người dùng mac!
phân tích045

10

CẬP NHẬT THÁNG 10 NĂM 2017 Tôi chưa bao giờ biết tính năng này tồn tại trong Sublime Text, nhưng giao diện dường như đã thay đổi một chút so với câu trả lời trước - ít nhất là trên OS X. Dưới đây là các bước chi tiết tôi đã làm theo:

  1. Trong Thanh Menu, nhấp vào Tệp -> Mở ...
  2. Điều hướng đến FOLDER có chứa các tệp được so sánh và với FOLDER đã chọn, nhấp vào nút Mở, điều này làm cho thanh bên FOLDERS xuất hiện
  3. Trong thanh bên FOLDERS, nhấp vào tệp đầu tiên để so sánh
  4. Giữ Ctrl trên Windows hoặc trên OS X và nhấp vào tệp thứ hai
  5. Với cả hai tệp được chọn, nhấp chuột phải vào một và chọn Tệp khác ...

Điều này mở ra một tab mới hiển thị so sánh. Các tập tin đầu tiên màu đỏ, thứ hai màu xanh lá cây.


8

Xem - Bố cục và Chế độ xem - Các nhóm sẽ thực hiện trong Sublime 3 mới nhất

ví dụ:

Shift+ Alt+ 2-> tạo 2 cột

Ctrl+ 2-> di chuyển tệp đã chọn sang cột 2

Điều này là để so sánh cạnh nhau. Đối với diff thực tế, có chức năng khác khác đã được đề cập. Thật không may, tôi không thể tìm ra cách để cuộn các cột cùng một lúc, đó sẽ là một tính năng hay.


1
Và để đóng một nhóm, bạn có thể sử dụng Ctrl+ K Ctrl+down
Alex Raj Kaliamoorthy

2

Không ai nói về Linux nhưng tất cả các câu trả lời ở trên sẽ hoạt động. Chỉ cần sử dụng Ctrl để chọn nhiều hơn một tệp. Nếu bạn đang muốn so sánh cạnh nhau, Meld thật đáng yêu.


2

Tùy chọn Diff chỉ xuất hiện nếu các tệp nằm trong một thư mục là một phần của Dự án.

Hơn bạn thực sự có thể so sánh các tập tin thực sự ngay trong Sublime Text.

Điều hướng đến thư mục chứa chúng thông qua Thư mục mở ... hoặc trong một dự án Chọn hai tệp (nghĩa là bằng cách giữ Ctrl trên Windows hoặc ⌘ trên macOS) bạn muốn so sánh trong thanh bên Nhấp chuột phải và chọn tệp Diff ... Lựa chọn.


0

Cũng có một plugin BeyondCompare. Nó mở 2 tập tin trong một BeyondComparecửa sổ. Khá thuận tiện để mở các tập tin từ cửa sổ tuyệt vời.

Bạn sẽ cần cài đặt BC3 trong hệ thống. Sau khi cài đặt plugin , bạn sẽ phải cung cấp đường dẫn đến cài đặt.

Thí dụ:

{
    //Define a custom path to beyond compare
    "beyond_compare_path": "G:/Softwares/Beyond Compare 3/BCompare.exe"
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.