2009-05-15 24 views
7

Tôi đang cố gắng học cách sử dụng vimdiff tốt. Hiện nay tôi đã tìm ra cách để có được một khối khác biệt từ một bộ đệm khác (sử dụng do) nhưng những gì tôi sẵn sàng làm bây giờ là chỉ đơn giản nhận được một (hoặc một số) dòng của một khối trong bộ đệm khác.Sử dụng diffget trong vimdiff

Các tài liệu vimdiff nói:

:[range]diffget 

nhưng tôi không thể hình dung làm thế nào để có một tham số phạm vi đúng để chỉ cần sao chép dòng Tôi đang trên từ một bộ đệm để người kia.

Trả lời

9

Bạn có thể sử dụng

:.,. 

như dao động từ dòng hiện tại vào dòng hiện tại.

Theo tài liệu, bạn có thể bỏ qua phạm vi và sau đó dòng hoặc dòng hiện tại ở trên sẽ được sử dụng.

+3

không có dải ô, nó sao chép toàn bộ khối khác biệt, không chỉ dòng hiện tại. – claf

+3

Bạn không cần ', .', chỉ cần' .' là đủ. – ZyX

0

Như Mykola đã nói,:.,. sẽ chỉ định "dòng hiện tại" làm dải ô.

Tôi có một tệp rất lớn cần thiết cho mỗi dòng được kiểm tra và có thể thay đổi, vì vậy hãy gõ ":.,. Diffput" mỗi lần quá gian khổ. Tôi đã ghi lại macro:

qq:.,.diffput[ENTER]q 

Điều đó tạo macro (được lưu trong khóa "q") để "đặt" một dòng từ bộ đệm trái vào bộ đệm phù hợp. Bây giờ lặp lại hành động này, tất cả tôi phải làm là gõ "@q"

1

Tôi tìm thấy nó một chút dễ dàng hơn để chọn dòng hiện tại với V và sau đó đến làm hay dp. Điều này có tác dụng tương tự như chọn cơn thịnh nộ với :.,. nhưng dễ nhập hơn! Ngoài ra, bạn có thể dễ dàng thêm các đường liền kề với j hoặc k.

Các vấn đề liên quan