Vim вставляет комментарии в стиле C

:command Linecomment :normal ^i/*<ESC>$a*/<ESC>
Приведенная выше команда - это команда, которую я придумал, чтобы закомментировать целую строку в C, обычно для целей отладки и еще много чего.

Мне было интересно, какие модификации понадобятся, чтобы превратить это в функцию, и какую подобную функцию можно прокомментировать от позиции курсора до конца строки?

1 ответ

Решение

Чтобы выделить функцию (которая полезна, когда команды отображения становятся длиннее), единственное, что вам нужно учитывать, - это то, что специальные клавиши, такие как <Esc> эта работа в правой части отображения не работает внутри функции; вам нужно использовать :execute с двойными кавычками и избегайте их:

function Linecomment()
    execute "normal ^i/*\<ESC>$a*/\<ESC>"
endfunction
command Linecomment call Linecomment()

Чтобы прокомментировать положение курсора, вам просто нужно удалить ^ движение в начале.

Однако для действительно мощного и надежного решения для комментирования я бы рекомендовал использовать один из популярных плагинов:

Другие вопросы по тегам