
:command Linecomment :normal ^i/*<ESC>$a*/<ESC>
Der obige Befehl ist einer, den ich mir ausgedacht habe, um eine ganze Zeile in C auszukommentieren, normalerweise für Debugging-Zwecke und so weiter.
Ich habe mich gefragt, welche Art von Änderungen erforderlich wären, um daraus eine Funktion zu machen, und welche ähnliche Funktion von der Cursorposition bis zum Zeilenende kommentieren würde?
Antwort1
Um eine Funktion auszuklammern (was nützlich ist, wenn die Mapping-Befehle länger werden), müssen Sie nur bedenken, dass spezielle Tasten wie <Esc>
diese, die auf der rechten Seite des Mappings funktionieren, innerhalb der Funktion nicht funktionieren; Sie müssen sie :execute
mit Anführungszeichen verwenden und mit Escapezeichen versehen:
function Linecomment()
execute "normal ^i/*\<ESC>$a*/\<ESC>"
endfunction
command Linecomment call Linecomment()
Um von der Cursorposition aus zu kommentieren, müssen Sie die ^
Bewegung einfach am Anfang absetzen.
Für eine wirklich leistungsstarke und robuste Kommentarlösung würde ich jedoch die Verwendung eines der beliebten Plugins empfehlen: