
:command Linecomment :normal ^i/*<ESC>$a*/<ESC>
El comando anterior se me ocurrió para comentar una línea completa en C, normalmente con fines de depuración y todo eso.
Me preguntaba qué tipo de modificaciones serían necesarias para convertir esto en una función y qué función similar comentaría desde la posición del cursor hasta el final de la línea.
Respuesta1
Para factorizar una función (lo cual es útil cuando los comandos de mapeo se vuelven más largos), lo único que debe considerar es que las teclas especiales como <Esc>
esa que funcionan en el lado derecho del mapeo no funcionan dentro de la función; debes usar :execute
comillas dobles y escapar de ellas:
function Linecomment()
execute "normal ^i/*\<ESC>$a*/\<ESC>"
endfunction
command Linecomment call Linecomment()
Para comentar desde la posición del cursor, solo necesita soltar el ^
movimiento al principio.
Sin embargo, para una solución de comentarios verdaderamente potente y sólida, recomendaría utilizar uno de los complementos populares: