2009-03-09 26 views
18

Tôi không chắc chắn nó có thể hay không, nhưng một trong những điều tôi thấy tôi cần làm là thay thế nội dung của tệp, nhưng tôi muốn sử dụng số dòng dưới dạng tùy chọn thay thế. Vì vậy, nếu tôi đã có một tập tin như:VI Cụm từ thông dụng - Thay thế bằng số dòng hiện tại

This is text to replace XX 
This is text to replace XX 
This is text to replace XX 

tôi muốn để có thể chạy một regex mà sẽ lần lượt tập tin đó vào:

This is text to replace 1 
This is text to replace 2 
This is text to replace 3 

Tôi đã nhìn xung quanh, nhưng tôi không thể dường như tìm mọi cách để làm điều này. Điều này có thể không? Có ai biết một cách đơn giản để tiếp cận này?

Cảm ơn.

Trả lời

25
:help sub-replace-expression 

Bạn có thể xây dựng một biểu thức thay thế như:

:[email protected] [email protected]\=" " . line(".")@ 

... Mà làm việc cho tôi.

+0

ma thuật đó là gì với '@'. Tôi chuyển qua trợ giúp và điều này vẫn chưa rõ ràng. –

+3

Cảm ơn, đó chính xác là điều tôi đang tìm kiếm. Trong trường hợp của tôi, biểu thức tôi đang tìm kiếm là: :% s/XX/\ = dòng (".")/G Hoạt động như một sự quyến rũ. –

+3

Bất kể ký tự không phải chữ và số nào sau s được sử dụng làm dấu phân cách của các biểu thức. @ Đó có thể dễ dàng là dấu phẩy, dấu chấm, #, ",! Hoặc ¥ vì nó có thể là/ – greyfade

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