Meld là một công cụ so sánh và hợp nhất trực quan giàu tính năng có sẵn cho Linux. Nếu bạn mới sử dụng công cụ này, bạn có thể tham khảo hướng dẫn dành cho người mới bắt đầu của chúng tôi để biết nhanh cách thức hoạt động của tiện ích này. Tuy nhiên, nếu bạn đã đọc bài viết đó hoặc đang sử dụng Meld cho các tác vụ so sánh/hợp nhất cơ bản, bạn sẽ vui mừng khi biết rằng trong hướng dẫn này, chúng ta sẽ thảo luận về một số mẹo/thủ thuật thực sự hữu ích giúp bạn có trải nghiệm tốt hơn với công cụ này.
Tuy nhiên, điều này yêu cầu bạn phải di chuyển con trỏ chuột đến các mũi tên này rồi nhấp vào một trong số chúng (tùy thuộc vào nơi bạn muốn đến - lên hoặc xuống) nhiều lần. Bạn sẽ vui mừng khi biết rằng có một cách thậm chí còn dễ hơn để chuyển đổi giữa các thay đổi: chỉ cần sử dụng bánh xe cuộn của chuột để thực hiện thao tác cuộn khi con trỏ chuột ở trên thanh thay đổi trung tâm.
Theo cách này, bạn có thể điều hướng giữa các thay đổi mà không cần rời mắt khỏi chúng hoặc bị phân tâm.
Nhưng bạn có biết rằng bạn có thể xóa từng thay đổi nếu muốn không? Có, điều đó là có thể. Đối với điều này, tất cả những gì bạn phải làm là nhấn phím Shift khi xử lý các thay đổi. Bạn sẽ thấy rằng các mũi tên được chuyển thành hình chữ thập.
Chỉ cần nhấp vào bất kỳ mũi tên nào trong số chúng và thay đổi tương ứng sẽ bị xóa.
Không chỉ xóa, bạn cũng có thể đảm bảo rằng các thay đổi xung đột không thay đổi các dòng khi được hợp nhất. Ví dụ, đây là một ví dụ về thay đổi xung đột:
Bây giờ, nếu bạn nhấp vào bất kỳ hai mũi tên màu đen nào, dòng mà mũi tên trỏ đến sẽ bị thay đổi và sẽ trở nên giống với dòng tương ứng của tệp khác. Điều đó ổn miễn là bạn muốn điều này xảy ra. Nhưng nếu bạn không muốn bất kỳ dòng nào bị thay đổi thì sao? Thay vào đó, mục đích là chèn dòng đã thay đổi lên trên hoặc xuống dưới dòng tương ứng trong tệp khác.
Ý tôi muốn nói là, ví dụ, trong ảnh chụp màn hình ở trên, cần phải thêm 'test 2' lên trên hoặc xuống dưới 'test23', thay vì thay đổi 'test23' thành 'test2'. Bạn sẽ vui mừng khi biết rằng ngay cả điều đó cũng có thể thực hiện được với Meld. Giống như khi bạn nhấn phím Shift để xóa bình luận, trong trường hợp này, bạn sẽ phải nhấn phím Ctrl.
Và bạn sẽ thấy rằng hành động hiện tại sẽ được thay đổi thành insert - biểu tượng mũi tên kép sẽ xác nhận điều này.
Như hướng mũi tên cho thấy, hành động này giúp người dùng chèn thay đổi hiện tại ở trên hoặc dưới (khi đã chọn) thay đổi tương ứng trong tệp khác.
Meld cung cấp một số tùy chọn tùy chỉnh liên quan đến hiển thị và phông chữ trong menu Tùy chọn trong tab Biên tập (Chỉnh sửa->Tùy chọn->Biên tập), tại đó bạn có thể thực hiện những điều chỉnh sau:
Vì vậy, ở đây bạn có thể thấy rằng, theo mặc định, Meld sử dụng chiều rộng phông chữ do hệ thống xác định. Chỉ cần bỏ chọn hộp đó trong danh mục Phông chữ và bạn sẽ có vô số tùy chọn về kiểu phông chữ và kích thước để lựa chọn.
Sau đó, trong phần Hiển thị, bạn sẽ thấy tất cả các tùy chọn tùy chỉnh mà chúng tôi đã nói đến: bạn có thể đặt độ rộng Tab, cho công cụ biết có chèn khoảng trắng thay vì tab hay không, bật/tắt ngắt dòng văn bản, làm cho Meld hiển thị số dòng và khoảng trắng (rất hữu ích trong một số trường hợp) cũng như sử dụng tô sáng cú pháp.
Ví dụ, đây là một so sánh Meld trong đó các thay đổi liên quan đến bình luận được công cụ đánh dấu:
Và đây là trường hợp Meld đã bỏ qua các thay đổi tương tự, chỉ tập trung vào các thay đổi liên quan đến mã:
Tuyệt, phải không? Vậy, điều đó xảy ra như thế nào? Vâng, đối với điều này, những gì tôi đã làm là, tôi đã bật bộ lọc văn bản 'Bình luận C' trong tab Chỉnh sửa->Tùy chọn->Bộ lọc văn bản:
Như bạn có thể thấy, ngoài 'Bình luận C', bạn cũng có thể lọc ra các bình luận C++, bình luận Script, khoảng trắng đầu dòng hoặc tất cả các khoảng trắng, v.v. Hơn nữa, bạn cũng có thể định nghĩa bộ lọc văn bản tùy chỉnh cho bất kỳ trường hợp cụ thể nào mà bạn đang xử lý. Ví dụ, nếu bạn đang xử lý tệp nhật ký và không muốn Meld làm nổi bật những thay đổi trong các dòng bắt đầu bằng một mẫu cụ thể, thì bạn có thể định nghĩa bộ lọc văn bản tùy chỉnh cho trường hợp đó.
Tuy nhiên, hãy nhớ rằng để định nghĩa bộ lọc văn bản mới, bạn cần biết ngôn ngữ Python cũng như cách tạo biểu thức chính quy trong ngôn ngữ đó.
Bạn có biết hoặc sử dụng bất kỳ mẹo hoặc thủ thuật Meld trung cấp nào khác không? Nếu có, thì bạn có thể chia sẻ trong phần bình luận bên dưới.
Mã:
[I]Nhưng trước khi chuyển sang phần cài đặt và giải thích, chúng tôi xin chia sẻ rằng tất cả các hướng dẫn và ví dụ được trình bày trong hướng dẫn này đều đã được thử nghiệm trên Ubuntu 14.04 và phiên bản Meld mà chúng tôi sử dụng là 3.14.2[/I].
Mẹo/thủ thuật Meld dành cho người dùng trung cấp
1. Điều hướng
Như bạn có thể đã biết (và chúng tôi cũng đã đề cập đến điều này trong hướng dẫn dành cho người mới bắt đầu), cuộn tiêu chuẩn không phải là cách duy nhất để điều hướng giữa các thay đổi khi sử dụng Meld - bạn có thể dễ dàng chuyển đổi từ thay đổi này sang thay đổi khác bằng các phím mũi tên lên và xuống nằm trong ngăn nằm phía trên vùng chỉnh sửa:Tuy nhiên, điều này yêu cầu bạn phải di chuyển con trỏ chuột đến các mũi tên này rồi nhấp vào một trong số chúng (tùy thuộc vào nơi bạn muốn đến - lên hoặc xuống) nhiều lần. Bạn sẽ vui mừng khi biết rằng có một cách thậm chí còn dễ hơn để chuyển đổi giữa các thay đổi: chỉ cần sử dụng bánh xe cuộn của chuột để thực hiện thao tác cuộn khi con trỏ chuột ở trên thanh thay đổi trung tâm.
Theo cách này, bạn có thể điều hướng giữa các thay đổi mà không cần rời mắt khỏi chúng hoặc bị phân tâm.
2. Những việc bạn có thể làm với các thay đổi
Chỉ cần xem ảnh chụp màn hình cuối cùng trong phần trước. Bạn biết những mũi tên màu đen đó có tác dụng gì, phải không? Theo mặc định, chúng cho phép bạn thực hiện thao tác hợp nhất/thay đổi - hợp nhất khi không có xung đột và thay đổi khi có xung đột trên cùng một dòng.Nhưng bạn có biết rằng bạn có thể xóa từng thay đổi nếu muốn không? Có, điều đó là có thể. Đối với điều này, tất cả những gì bạn phải làm là nhấn phím Shift khi xử lý các thay đổi. Bạn sẽ thấy rằng các mũi tên được chuyển thành hình chữ thập.
Chỉ cần nhấp vào bất kỳ mũi tên nào trong số chúng và thay đổi tương ứng sẽ bị xóa.
Không chỉ xóa, bạn cũng có thể đảm bảo rằng các thay đổi xung đột không thay đổi các dòng khi được hợp nhất. Ví dụ, đây là một ví dụ về thay đổi xung đột:
Bây giờ, nếu bạn nhấp vào bất kỳ hai mũi tên màu đen nào, dòng mà mũi tên trỏ đến sẽ bị thay đổi và sẽ trở nên giống với dòng tương ứng của tệp khác. Điều đó ổn miễn là bạn muốn điều này xảy ra. Nhưng nếu bạn không muốn bất kỳ dòng nào bị thay đổi thì sao? Thay vào đó, mục đích là chèn dòng đã thay đổi lên trên hoặc xuống dưới dòng tương ứng trong tệp khác.
Ý tôi muốn nói là, ví dụ, trong ảnh chụp màn hình ở trên, cần phải thêm 'test 2' lên trên hoặc xuống dưới 'test23', thay vì thay đổi 'test23' thành 'test2'. Bạn sẽ vui mừng khi biết rằng ngay cả điều đó cũng có thể thực hiện được với Meld. Giống như khi bạn nhấn phím Shift để xóa bình luận, trong trường hợp này, bạn sẽ phải nhấn phím Ctrl.
Và bạn sẽ thấy rằng hành động hiện tại sẽ được thay đổi thành insert - biểu tượng mũi tên kép sẽ xác nhận điều này.
Như hướng mũi tên cho thấy, hành động này giúp người dùng chèn thay đổi hiện tại ở trên hoặc dưới (khi đã chọn) thay đổi tương ứng trong tệp khác.
3. Tùy chỉnh cách hiển thị tệp trong vùng biên tập của Meld
Có thể có lúc bạn muốn kích thước văn bản trong vùng biên tập của Meld lớn hơn một chút (để xem tốt hơn hoặc thoải mái hơn) hoặc bạn muốn các dòng văn bản tự ngắt dòng thay vì tràn ra khỏi vùng trực quan (có nghĩa là bạn không muốn sử dụng thanh cuộn ngang ở phía dưới).Meld cung cấp một số tùy chọn tùy chỉnh liên quan đến hiển thị và phông chữ trong menu Tùy chọn trong tab Biên tập (Chỉnh sửa->Tùy chọn->Biên tập), tại đó bạn có thể thực hiện những điều chỉnh sau:
Vì vậy, ở đây bạn có thể thấy rằng, theo mặc định, Meld sử dụng chiều rộng phông chữ do hệ thống xác định. Chỉ cần bỏ chọn hộp đó trong danh mục Phông chữ và bạn sẽ có vô số tùy chọn về kiểu phông chữ và kích thước để lựa chọn.
Sau đó, trong phần Hiển thị, bạn sẽ thấy tất cả các tùy chọn tùy chỉnh mà chúng tôi đã nói đến: bạn có thể đặt độ rộng Tab, cho công cụ biết có chèn khoảng trắng thay vì tab hay không, bật/tắt ngắt dòng văn bản, làm cho Meld hiển thị số dòng và khoảng trắng (rất hữu ích trong một số trường hợp) cũng như sử dụng tô sáng cú pháp.
4. Lọc văn bản
Có những lúc không phải tất cả các thay đổi mà Meld hiển thị đều quan trọng đối với bạn. Ví dụ, khi so sánh hai tệp lập trình C, bạn có thể không muốn Meld hiển thị các thay đổi trong chú thích vì bạn chỉ muốn tập trung vào các thay đổi liên quan đến mã. Vì vậy, trong trường hợp đó, bạn có thể yêu cầu Meld lọc (hoặc bỏ qua) các thay đổi liên quan đến bình luận.Ví dụ, đây là một so sánh Meld trong đó các thay đổi liên quan đến bình luận được công cụ đánh dấu:
Và đây là trường hợp Meld đã bỏ qua các thay đổi tương tự, chỉ tập trung vào các thay đổi liên quan đến mã:
Tuyệt, phải không? Vậy, điều đó xảy ra như thế nào? Vâng, đối với điều này, những gì tôi đã làm là, tôi đã bật bộ lọc văn bản 'Bình luận C' trong tab Chỉnh sửa->Tùy chọn->Bộ lọc văn bản:
Như bạn có thể thấy, ngoài 'Bình luận C', bạn cũng có thể lọc ra các bình luận C++, bình luận Script, khoảng trắng đầu dòng hoặc tất cả các khoảng trắng, v.v. Hơn nữa, bạn cũng có thể định nghĩa bộ lọc văn bản tùy chỉnh cho bất kỳ trường hợp cụ thể nào mà bạn đang xử lý. Ví dụ, nếu bạn đang xử lý tệp nhật ký và không muốn Meld làm nổi bật những thay đổi trong các dòng bắt đầu bằng một mẫu cụ thể, thì bạn có thể định nghĩa bộ lọc văn bản tùy chỉnh cho trường hợp đó.
Tuy nhiên, hãy nhớ rằng để định nghĩa bộ lọc văn bản mới, bạn cần biết ngôn ngữ Python cũng như cách tạo biểu thức chính quy trong ngôn ngữ đó.
Kết luận
Cả bốn mẹo/thủ thuật được thảo luận ở đây đều không quá khó hiểu và sử dụng (trừ khi bạn muốn tạo bộ lọc văn bản tùy chỉnh ngay lập tức) và khi bạn bắt đầu sử dụng chúng, bạn sẽ đồng ý rằng chúng thực sự có lợi. Chìa khóa ở đây là phải tiếp tục luyện tập, nếu không, bất kỳ mẹo/thủ thuật nào bạn học được sẽ nhanh chóng quên mất.Bạn có biết hoặc sử dụng bất kỳ mẹo hoặc thủ thuật Meld trung cấp nào khác không? Nếu có, thì bạn có thể chia sẻ trong phần bình luận bên dưới.