Mi piace /* ... */(commenti C ansi), quindi ecco il mio trucco per te. Ovviamente puoi adattarlo per l'uso in diversi casi.
Commenta con / * ... * /
Seleziona il testo (vai all'inizio, avvia il blocco visivo, salta con }):
<c-V>}
Digita il comando da applicare nella selezione
:norm i/* <c-v><esc>$a */
Il comando sarà simile a: :'<,'>norm i /* ^[$a */
Vedi (i *) per i dettagli.
Annulla commento / / ... * /
Seleziona il testo (come prima o in altro modo):
<c-V>}
Digita il comando da applicare nella selezione
:norm :s-\s*/\*\s*-<c-v><enter>$bbld$
Il comando sarà simile a: :'<,'>norm :s-\s*/\*\s*-^M$bbld$
Vedere (ii *) per i dettagli.
Risultato
L'effetto è commenti riga per riga:
Comment block
Comment block
Comment block
Diventa (e viceversa):
/* Comment block */
/* Comment block */
/* Comment block */
È meglio salvarlo come alcuni mapo @regnel tuo .vimrc, perché è molto da digitare. Se preferisci un singolo /*e */l'intero blocco, usa:
Commenta con un singolo / * * / l'intero blocco
Salvalo in un registro registrando con, diciamo qc, quindi, all'inizio di un paragrafo per commentare:
v}di/* */<esc>hhhp
e non dimenticare di qnuovo, per finire il disco.
Vedi (iii *) per i dettagli.
Sblocca un singolo / * * / da un blocco
Salva nel registro, ad esempio, @u. Posiziona il cursore ovunque all'interno del blocco e:
?/\*<enter>xx/\*/<enter>xx
Salvare il registro finendo q comando.
Vedere (iv *) per i dettagli.
Risultato
Effect è un singolo commento per più righe:
Comment block
Comment block
Comment block
Diventa (e viceversa):
/* Comment block
Comment block
Comment block */
spiegazioni
(i *) Funziona usando normquale applica ripetutamente lo stesso comando in ogni riga selezionata. Il comando inserisce semplicemente a /*, trova la fine di quella riga e termina inserendo a*/
:norm i/* <c-v><esc>$a */
(ii *) Utilizza anche normper ripetere la ricerca / sostituzione su ogni riga. Cerca spaces /* spacese sostituisci con niente. Successivamente, trova la fine della riga, torna indietro di due parole, a destra una lettera, elimina fino alla fine.
:norm :s-\s*/\*\s*-<c-v><enter>$bbld$
(iii *) Seleziona il paragrafo con v}, eliminalo, inserisci un commento aperto e chiuso, sposta al centro e incolla il blocco cancellato.
v}di/* */<esc>hhhp
(iv *) Ovunque nel mezzo, trova indietro a /*, lo elimina; trova avanti a */, lo elimina.
?/\*<enter>xx/\*/<enter>xx