Để đặt tiền tố cho một tập hợp các dòng, tôi sử dụng một trong hai cách tiếp cận khác nhau:
Một cách tiếp cận là chọn khối (được đề cập bởi sth). Nói chung, bạn có thể chọn một vùng hình chữ nhật với ctrl-Vtheo sau là di chuyển con trỏ. Khi bạn đã đánh dấu một hình chữ nhật, thao tác nhấn shift-Isẽ chèn các ký tự vào bên trái của hình chữ nhật hoặc shift-Asẽ nối chúng vào bên phải của hình chữ nhật. Vì vậy, bạn có thể sử dụng kỹ thuật này để tạo một hình chữ nhật bao gồm cột ngoài cùng bên trái của các dòng bạn muốn đặt tiền tố, nhấnshift-I , nhập tiền tố, rồi nhấn thoát.
Cách tiếp cận khác là sử dụng sự thay thế (như Brian Agnew đã đề cập). Sự thay thế của Brian sẽ ảnh hưởng đến toàn bộ tệp (% trong lệnh có nghĩa là "tất cả các dòng"). Để chỉ ảnh hưởng đến một vài dòng, cách tiếp cận đơn giản nhất là nhấn shift-V(bật chế độ dòng trực quan) khi đang ở dòng đầu tiên / dòng cuối cùng, sau đó di chuyển đến dòng cuối cùng / đầu tiên. Sau đó gõ:
:s/^/YOUR PREFIX/
Dấu ^ là một regex (trong trường hợp này là đầu dòng). Bằng cách nhập dòng này ở chế độ dòng trực quan, bạn sẽ thấy '<,'> được chèn tự động trước các dòng. Điều này có nghĩa là phạm vi thay thế sẽ là lựa chọn trực quan.
Mẹo bổ sung: nếu tiền tố của bạn chứa dấu gạch chéo, bạn có thể thoát chúng bằng dấu gạch chéo ngược hoặc bạn có thể sử dụng một ký tự dấu câu khác làm dấu phân tách trong lệnh. Ví dụ, để thêm nhận xét dòng C ++, tôi thường viết:
:s:^:// :
Để thêm hậu tố, phương pháp thay thế thường dễ dàng hơn trừ khi tất cả các dòng của bạn có cùng độ dài chính xác. Chỉ cần sử dụng $ cho mẫu thay vì ^ và chuỗi của bạn sẽ được thêm vào thay vì chờ xử lý trước.
Nếu bạn muốn thêm tiền tố và hậu tố đồng thời, bạn có thể làm như sau:
:s/.*/PREFIX & SUFFIX/
Dấu. * Khớp với toàn bộ dòng. Dấu & trong sự thay thế đưa văn bản phù hợp (toàn bộ dòng) trở lại, nhưng bây giờ nó sẽ có thêm tiền tố và hậu tố của bạn.
BTW: khi bình luận mã bạn có thể sẽ muốn bỏ ghi chú nó sau. Bạn có thể sử dụng visual-block ( ctrl-V) để chọn các dấu gạch chéo và sau đó nhấn d để xóa chúng hoặc bạn có thể sử dụng phép thay thế (có thể với lựa chọn dòng trực quan, được thực hiện bằng shift-V) để loại bỏ các dấu gạch chéo như thế này:
:s:// ::