2010-05-18 26 views

Trả lời

14

Check it out:

s/<a href\(\_[^>]*\)>/<a href\L\1>/ 

này nói: trận đấu <a href, tiếp theo là không hoặc nhiều ký tự bên cạnh >, bao gồm dòng mới (thể hiện bằng \_), và sau đó cuối cùng là một >. Thay thế nó bằng <a href, văn bản được ghi lại được chuyển thành chữ thường (được biểu thị bằng \L) và dấu trang >.

Rõ ràng bạn đang ở trên của riêng bạn nếu có một > ở đâu đó bên trong thẻ của bạn, nhưng đó là cuộc sống.

(Và trong trường hợp đó là không rõ ràng, bạn sẽ sử dụng điều này như :%s/.../... hoặc :<range>s/.../.../ đối với một số nhỏ hơn range.)

Để sử dụng trên nhiều file, bạn sẽ sử dụng windo, bufdo, hoặc tabdo (tùy về việc liệu các tệp có được mở dưới dạng tab, cửa sổ hay chỉ là bộ đệm). Có rất nhiều tài liệu trên mạng:

Nói chung, nó có lẽ sẽ giống như thế này:

:tabdo <range>s/.../.../ 
:windo <range>s/.../.../ 
:bufdo <range>s/.../.../ | w 

tôi đã thêm lệnh ghi vào phiên bản bufdo, vì nó không thể chuyển sang bộ đệm tiếp theo mà không lưu bộ đệm hiện tại. Bạn có thể làm điều này cho những người khác nữa, nếu bạn muốn viết ngay lập tức, nhưng họ sẽ làm việc mà không có. Tùy thuộc vào bạn để mở tất cả các tệp - cách dễ nhất chỉ là vim <lots of files> để nhận chúng dưới dạng bộ đệm hoặc vim -o <lots of files> để hiển thị chúng dưới dạng cửa sổ (sử dụng -O để chia theo chiều dọc thay vì theo chiều ngang).

+0

Cảm ơn bạn rất nhiều, đây chính là điều tôi muốn, tôi sẽ kiểm tra nó ngay lập tức! –

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