Vim автоматически вставляет комментарий, когда я начинаю новую строку с закомментированной строки, потому что я установил formatoptions=tcroql
. Например (курсор *
):
// this is a comment*
и после нажатия <Enter>
(режим вставки) или o
(нормальный режим) я остаюсь с:
// this is a comment
// *
Эта функция очень удобна при написании длинных многострочных комментариев, но часто мне просто нужен однострочный комментарий. Теперь, если я хочу закончить серию комментариев, у меня есть несколько вариантов:
- нажмите
<Esc>S
- нажмите
<BS>
три раза
Оба из них предоставляют три нажатия клавиш, взятые вместе с <Enter>
что означает четыре нажатия клавиш для новой строки, что, я думаю, слишком много. В идеале я хотел бы просто нажать <Enter>
во второй раз, чтобы оставить:
// this is a comment
*
Важно, чтобы решение также работало с разными уровнями отступов, т.е.
int main(void) {
// this is a comment*
}
нажмите <Enter>
int main(void) {
// this is a comment
// *
}
нажмите <Enter>
int main(void) {
// this is a comment
*
}
Я думаю, что видел эту функцию в каком-то текстовом редакторе несколько лет назад, но я не помню, какая это была. Кто-нибудь знает решение, которое сделает это для меня в Vim? Указатели в правильном направлении о том, как развернуть мое собственное решение, также очень приветствуются.