Vim inserisce automaticamente un commento quando inizio una nuova riga da una riga commentata, perché ho impostato formatoptions=tcroql
. Ad esempio (il cursore è *
):
// this is a comment*
e dopo aver colpito <Enter>
(modalità inserimento) o o
(modalità normale) mi rimane:
// this is a comment
// *
Questa funzione è molto utile quando si scrivono lunghi commenti a più righe, ma spesso voglio solo un commento a riga singola. Ora, se voglio terminare la serie di commenti, ho diverse opzioni:
- colpire
<Esc>S
- colpito
<BS>
tre volte
Entrambi offrono tre sequenze di tasti, prese insieme a <Enter>
ciò significano quattro sequenze di tasti per una nuova linea, che penso sia troppo. Idealmente, vorrei solo colpire <Enter>
una seconda volta per essere lasciato con:
// this is a comment
*
È importante che la soluzione funzioni anche con diversi livelli di rientro, ad es
int main(void) {
// this is a comment*
}
colpire <Enter>
int main(void) {
// this is a comment
// *
}
colpire <Enter>
int main(void) {
// this is a comment
*
}
Penso di aver visto questa funzione in alcuni editor di testo alcuni anni fa, ma non ricordo quale fosse. Qualcuno è a conoscenza di una soluzione che farà questo per me in Vim? Anche i puntatori nella giusta direzione su come implementare la mia soluzione sono i benvenuti.