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

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

1 ответ1

2

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .