Sức mạnh của g
:
:g/\vdefn.*\n\s*\zs"([^"]|\n)*"/normal gngq
Phần giữa các /
s khá tự giải thích, vì đó là regex từ câu hỏi ban đầu của bạn.
normal gngq
cuối cùng là một phần thú vị. gn
sẽ chọn kết quả khớp tiếp theo của biểu thức chính quy và gq
dĩ nhiên là định dạng lựa chọn này (như bạn đã đề cập trong câu hỏi của mình).
:g
là phần thực sự tuyệt vời. Theo tôi, đây là một trong những tính năng hữu ích nhất của Vim. Lệnh g
ex lấy một regex và một lệnh Ex, và nó thực thi lệnh trên mỗi dòng mà regex khớp. Nếu bạn chưa tìm hiểu về nó :g
, tôi thực sự khuyên bạn nên làm như vậy, vì nó sẽ giúp tăng năng suất của bạn lên rất nhiều. Một vài tài nguyên là của Vim :help :g
hoặc Power of g trên Vim wiki.
gn
mảnh được lựa chọn từ dòng nơiV
được kích hoạt để các tiếp theo (không phải là người trên cùng một dòng) xuất hiện của các mẫu. Tài liệu của Vim nói rằng nếu chế độ trực quan được kích hoạt, lựa chọn được mở rộng từ dòng hiện tại thông qua mẫu tiếp theo. Điều này gây ra hành vi không mong muốn.