Vim inserindo comentários em estilo C

Vim inserindo comentários em estilo C

:command Linecomment :normal ^i/*<ESC>$a*/<ESC>
O comando acima foi criado para comentar uma linha inteira em C, normalmente para fins de depuração e outros enfeites.

Eu queria saber que tipo de modificações seriam necessárias para transformar isso em uma função, e que função semelhante comentaria da posição do cursor até o final da linha?

Responder1

Para fatorar uma função (o que é útil quando os comandos de mapeamento ficam mais longos), a única coisa que você precisa considerar é que teclas especiais como <Esc>essa que funcionam no lado direito do mapeamento não funcionam dentro da função; você precisa usar :executeaspas duplas e escapar delas:

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

Para comentar a partir da posição do cursor, basta soltar o ^movimento no início.

No entanto, para uma solução de comentários verdadeiramente poderosa e robusta, recomendo usar um dos plug-ins populares:

informação relacionada