Vim tự động chèn một nhận xét khi tôi bắt đầu một dòng mới từ một dòng nhận xét, bởi vì tôi đã đặt formatoptions=tcroql
. Ví dụ: (con trỏ là *
):
// this is a comment*
và sau khi nhấn <Enter>
(chế độ chèn) hoặc o
(chế độ bình thường) tôi còn lại với:
// this is a comment
// *
Tính năng này rất tiện dụng khi viết bình luận nhiều dòng dài, nhưng thường thì tôi chỉ muốn một bình luận một dòng. Bây giờ nếu tôi muốn kết thúc loạt bình luận, tôi có một vài lựa chọn:
- đánh
<Esc>S
- đánh
<BS>
ba lần
Cả hai đều có ba tổ hợp phím, được thực hiện cùng với <Enter>
điều này có nghĩa là bốn tổ hợp phím cho một dòng mới, mà tôi nghĩ là quá nhiều. Lý tưởng nhất, tôi muốn chỉ đánh <Enter>
lần thứ hai để được:
// this is a comment
*
Điều quan trọng là giải pháp cũng sẽ hoạt động với các mức độ thụt khác nhau, tức là
int main(void) {
// this is a comment*
}
đánh <Enter>
int main(void) {
// this is a comment
// *
}
đánh <Enter>
int main(void) {
// this is a comment
*
}
Tôi nghĩ rằng tôi đã thấy tính năng này trong một số trình soạn thảo văn bản một vài năm trước nhưng tôi không nhớ đó là tính năng nào. Có ai biết một giải pháp sẽ làm điều này cho tôi trong Vim không? Con trỏ đi đúng hướng về cách cuộn giải pháp của riêng tôi cũng rất đáng hoan nghênh.