Vim inserindo comentários no estilo C

0

:command Linecomment :normal ^i/*<ESC>$a*/<ESC>
O comando acima é aquele que eu criei 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 qual função similar comentaria da posição do cursor até o final da linha?

    
por user339365 30.06.2014 / 07:33

1 resposta

2

Para fatorar uma função (que é útil quando os comandos de mapeamento se tornam mais longos), a única coisa que você precisa considerar é que as teclas especiais como <Esc> que funcionam no lado direito do mapeamento não trabalhar dentro da função; você precisa usar :execute com aspas 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 realmente poderosa e robusta, recomendo usar um dos plug-ins populares:

por 30.06.2014 / 08:43

Tags