2011-08-17 24 views

Trả lời

15

Bạn cũng có thể sử dụng mẫu đơn giản:

:%s/.*/& = C.& 
+0

Tuyệt vời. Sửa lỗi nhỏ: ':% s /.*/& = C. & /'. Chỉ cần thêm đóng '/'. – mpettis

+0

@mpettis không cần thiết chút nào nếu bạn không có cờ: -D Nó chắc chắn là hoàn chỉnh hơn, nhưng tôi bỏ qua một bên ở đây cho ngắn gọn – sidyll

+0

Tôi cần một cái gì đó như thế này cho nhiều dòng: '% string%' vào 'string =% string% ' –

1

Chọn văn bản, sau đó nhấn : và gõ

s/\(.*\)/\1 = C.\1/ 
5

Loại này:

:%s/\(.*\)/\1 = c.\1/g 

Breakdown:

  • % - làm việc trên tất cả các dòng
  • \(.*\) - chụp tất cả các nhân vật trong một nhóm ("nhóm 1")
  • s/PATTERN/REPLACEMENT/g - làm một chuỗi thay
  • \1 trong mô hình thay thế - tham khảo các nhóm phù hợp
+0

bạn không cần '^' hoặc '$'. –

+0

@yi_H: điểm tốt – orip

+0

Tùy thuộc vào việc nội dung được sao chép có thực sự ở đầu dòng hay không, có thể thuận tiện để thay đổi '\ s * \ zs' ngay sau'/'đầu tiên sao cho khoảng trắng đầu tiên được bảo tồn. –

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