Làm thế nào để thay thế trong nhiều dòng?


10

Tôi muốn chèn một từ trong nhiều dòng, có bất kỳ lệnh nào như

:[2,3,5,7,11]s/^/word\ /g

cái nào sẽ chèn wordvào đầu dòng 2, dòng 3, dòng 5, dòng 7 và dòng 11?

Ở đây, nhiều dòng không liền nhau.

Câu trả lời:


16

Thực hiện thay thế trên một số dòng liên tiếp là khá dễ dàng:

:2,11s/^/word /

nhưng một phạm vi không thể bao gồm các dòng không liên tiếp.

Tuy nhiên, với một chút sáng tạo, hoàn toàn có thể giải quyết "giới hạn" đó.

Thật vậy, bạn có thể lặp lại sự thay thế cuối cùng bằng :&hoặc :&&(cái trước sẽ không bảo toàn các cờ gốc, cái sau sẽ) để bạn có thể thay thế chuỗi khá dễ dàng:

2s/^/word /|3&|5&|7&|11&

Xem :help :&và cuộn xung quanh cho :&&.

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.