2011-12-06 29 views
6

Trong tệp CSS, dòng này nằm trong hơn 5 quy tắc.Làm cách nào để tôi có thể nhận xét một dòng hoặc một khối dòng trong Vim?

border: 1px solid black; 

Tôi muốn bình luận dòng này như thế này:

/*border: 1px solid black;*/ 

Có một phím tắt để làm bình luận này cho tất cả 5 lần hay không?

Tôi có thể chỉ định một khóa để nhận xét một dòng hoặc một khối dòng không?

Tôi không muốn tìm kiếm và thay thế dòng duy nhất này, tôi muốn đặt khóa sao cho khi tôi di chuột lên một dòng và nhấn phím đó, dòng đó sẽ được nhận xét hoặc chọn một dòng hoặc chọn một khối dòng , nếu tôi nhấn phím đó, dòng đó hoặc khối dòng sẽ được nhận xét.

Trả lời

10

Tôi khuyên bạn nên sử dụng macro cho việc này. Macro được tự động lưu bởi Vim và có sẵn trên các phiên.

Để ghi lại loại macro: q<letter><commands>q. Trong đó <letter> là bất kỳ chữ cái nào từ a-z và cho biết thanh ghi trong đó macro sẽ được lưu. Sau đó bạn chỉ cần gõ các lệnh bạn muốn được ghi lại và cuối cùng nhấn q một lần nữa để dừng ghi.

Trong trường hợp của bạn, bạn có thể thực hiện các thao tác sau. Nhấn q, sau đó nhấn a để chọn đăng ký a, tiếp theo nhập chế độ chèn và nhập /**/ ở đầu và cuối dòng. Nhấn q lần nữa để dừng ghi.

Bây giờ chỉ cần di chuyển con trỏ đến bất kỳ dòng nào và nhấn @a để thực thi macro trên dòng đó.

3

Tại sao không sử dụng regex cho điều này?

:1,$s/border: 1px solid black;/\/*border: 1px solid black;\*\// 

1,$s phương tiện, mà thay bạn nên được thực hiện từ dòng 1 để lót $ đó là dòng cuối cùng. Hãy nhớ rằng bạn phải thoát khỏi các ký tự như * hoặc /.

Theo this câu hỏi về Stackoverflow bạn có thể đặt sau trong vimrc của bạn

vnoremap <C-r> "hy:%s/\(<C-r>h\)/\/\*\1\*\//gc<left><left><left> 

bây giờ bạn có thể đánh dấu một dòng và nhấn ctrl + r mang đến cho bạn các biểu thức chính quy đúng. Bạn hiện được hỏi từng dòng nếu bạn muốn nhận xét và có thể thực hiện điều này bằng cách nhấn y.

+1

Tôi không muốn tìm kiếm và thay thế dòng duy nhất này, tôi muốn đặt khóa sao cho khi tôi di chuột lên một dòng và nhấn phím đó, dòng đó sẽ được nhận xét hoặc chọn một dòng hoặc chọn một khối dòng, nếu tôi bấm phím đó, dòng đó hoặc khối của dòng sẽ được nhận xét. – shibly

+2

Sử dụng backreferences để lưu gõ. Ngoài ra, bạn có thể sử dụng '%' thay vì phạm vi '1, $' ngay từ đầu. –

+0

Tôi không muốn tìm kiếm và thay thế. – shibly

2

Bạn phải dùng thử NERD Commenter plugin cho VIM. IMHO plugin này là tốt nhất cho nhiệm vụ này.

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