Vim fügt automatisch einen Kommentar ein, wenn ich eine neue Zeile aus einer auskommentierten Zeile beginne, da ich festgelegt habe formatoptions=tcroql
. Zum Beispiel (Cursor ist *
):
// this is a comment*
und nach dem Schlagen <Enter>
(Einfügemodus) oder o
(Normalmodus) habe ich Folgendes übrig:
// this is a comment
// *
Diese Funktion ist sehr praktisch, wenn Sie lange mehrzeilige Kommentare schreiben, aber oft möchte ich nur einen einzeiligen Kommentar. Wenn ich nun die Kommentarserie beenden möchte, habe ich mehrere Möglichkeiten:
- schlagen
<Esc>S
- Hit
<BS>
dreimal
Beide bieten drei Tastenanschläge, zusammengenommen <Enter>
bedeutet dies vier Tastenanschläge für eine neue Zeile, was ich für zu viel halte. Im Idealfall möchte ich nur <Enter>
ein zweites Mal treffen, um zu bleiben:
// this is a comment
*
Es ist wichtig, dass die Lösung auch mit verschiedenen Einrückungsstufen funktioniert, d. H.
int main(void) {
// this is a comment*
}
schlagen <Enter>
int main(void) {
// this is a comment
// *
}
schlagen <Enter>
int main(void) {
// this is a comment
*
}
Ich glaube, ich habe diese Funktion vor einigen Jahren in einem Texteditor gesehen, aber ich kann mich nicht erinnern, welche es war. Ist jemandem eine Lösung bekannt, die dies für mich in Vim erledigt? Hinweise in die richtige Richtung, wie ich meine eigene Lösung entwickeln kann, sind ebenfalls sehr willkommen.