Problema di rientro gq inspiegabile


11

Inserisco questo testo in Vim:

t tttt ttttttttt tt tttt tt ttt tttttt-tttt-ttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttt ttt ttt tttttt
ttttttt tttt ttttttt: ttttttt tt ttttttt, ttttttt tt tttttt, tttttt tt ttttttt,
tttttt tt tttttt ttt. t tttttt tt ttt (tttt) ttttttt-tttttt-tt-ttttttt tttttt
for the "tttttt in ttttttt" part of the issue (in the previous week I have
worked on the "objects in objects" part). This part is about making it
possible for the end user to add arrays in objects. First of all I checked
that the current implementation allows putting arrays in objects at least
from the schema passed to the plugin constructor.

quindi seleziono visivamente tutte queste righe e premo gq. I contenuti diventano:

t tttt ttttttttt tt tttt tt ttt tttttt-tttt-ttttttt
tttttttttttttttttttttttttttttttttttttttttttttttttttttt ttttt ttt ttt tttttt
ttttttt tttt ttttttt: ttttttt tt ttttttt, ttttttt tt tttttt, tttttt tt ttttttt,
tttttt tt tttttt ttt. t tttttt tt ttt (tttt) ttttttt-tttttt-tt-ttttttt tttttt
for the "tttttt in ttttttt" part of the issue (in the previous week I have
    worked on the "objects in objects" part). This part is about making it
    possible for the end user to add arrays in objects. First of all I checked
    that the current implementation allows putting arrays in objects at least
    from the schema passed to the plugin constructor.

Per favore, spiegami perché c'è quello spazio bianco all'inizio delle ultime quattro righe. È possibile che la prima parola ( for) sulla quinta riga, che in alcuni linguaggi di programmazione avvii un forciclo, faccia pensare a Vim che dovrebbe iniziare un nuovo blocco di codice rientrato, anche se queste righe si trovano in un file non salvato o in un file Markdown ? Come posso evitare questo comportamento e gqsmettere di inserire quello spazio bianco?

La mia commentsimpostazione ha il valore di default: s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-. Puoi vedere il mio .vimrcfile qui .

Aggiornamento: l' opzione My fo( formatoptions) ha il valore tcq, le opzioni formatexpre formatprgsono vuote.


E se il file viene salvato / non nuovo, qualche differenza?
Gabriel Petrovay,

È lo stesso comportamento.
silviubogan,

Quindi è possibile rimuovere tali informazioni dal testo per semplificare il problema.
Gabriel Petrovay,

@GabrielPetrovay, grazie per il feedback! :-)Ho aggiornato la domanda.
silviubogan,

qual è l'opzione 'fo' e l'opzione 'formatexpr' e formatprg?
Christian Brabandt,

Risposte:


18

Il problema è che hai impostato il smartindenttuo ~/.vimrc. Le smartindentopzioni fanno sì che Vim presuma che il tuo testo sia un linguaggio di programmazione simile a C durante il rientro. Tra le altre cose, tratta forcome una parola chiave e fornisce un ulteriore livello di rientro alla riga seguente. Vedere

:help 'smartindent'
:help 'cinwords'
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.