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.