Vim Markdown considera il blocco di codice recintato come un commento
Uso una formattazione automatica del testo piuttosto elegante per Markdown:
(Visto https://asciidoc.org/userguide.html#X61)
augroup TXT | au!
autocmd FileType asciidoc,markdown
\ setlocal autoindent expandtab tabstop=8 softtabstop=2 shiftwidth=2
\ textwidth=70 wrap formatoptions=atqn
\ formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\\|^\\s*<\\d\\+>\\s\\+\\\\|^\\s*[a-zA-Z.]\\.\\s\\+\\\\|^\\s*[ivxIVX]\\+\\.\\s\\+
\ comments=s1:/*,ex:*/,://,b:#,:%,:XCOMM,fb:-,fb:*,fb:+,fb:.,fb:>
\ listchars=tab:»·,trail:·
\ list |
autocmd FileType asciidoc,markdown silent! %foldopen!
augroup END
Questo rientra automaticamente elenca e mantiene brevi i miei blocchi di testo inserendo automaticamente interruzioni o rimuovendole dove appropriato.
Tuttavia questo comportamento mi intralcia quando inserisco il codice protetto, poiché Vim cerca di unire le righe non separate da un paragrafo insieme fino a raggiungere la larghezza del testo.
Posso disabilitare del tutto la formattazione automatica nel codice protetto? Come sarebbe comments=trattare tutto tra
```
fenced code
```
come commento Vim non dovrebbe formattare automaticamente? Vedi l'assenza di formatoptions=-ccui sopra che presumo Vim prenderebbe per lasciare i miei commenti da soli.
Risposte
Temo che sia "impossibile" a che fare con comments. Il fatto è che non analizza se è in commenti reali o no - in realtà viene trattato come commenti reali. È stato solo dirottato per gli elementi dell'elenco in quanto sono simili in asciidoc e markdown a ciò che sono i commenti C-like:
/*****************************
* comment line 1
* comment line 2
******************************/
Quindi, se si preme invio dopo la riga di commento 2, continuerà sulla riga successiva precedendo un "punto elenco".
Ovviamente puoi provare a implementare la tua soluzione:
mappa
<CR>in modalità di inserimento su una funzione in cui è necessario analizzare l'ambiente circostante, come la ricerca all'indietro per l'inizio di un blocco recintato e lo spegnimentocommentsse trovatoo fai lo stesso senza
commentsma con la tua implementazione dell'inserimento di punti elenco.
Ma sarebbe fragile o lento o entrambe le cose.