Problema de sangría gq inexplicable

11

Inserto este texto en 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.

luego selecciono visualmente todas estas líneas y presiono gq. Los contenidos se convierten en:

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.

Por favor explíqueme por qué hay ese espacio en blanco al comienzo de las últimas cuatro líneas. ¿Es posible que la primera palabra ( for) en la quinta línea, que en algunos lenguajes de programación inicia un forbucle, haga que Vim piense que debería comenzar un nuevo bloque de código sangrado, incluso si estas líneas están en un archivo no guardado o en un archivo Markdown ? ¿Cómo puedo evitar este comportamiento y gqdejar de insertar ese espacio en blanco?

Mi commentsconfiguración tiene el valor por defecto: s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-. Puedes ver mi .vimrcarchivo aquí .

Actualización: Mi opción fo( formatoptions) tiene el valor tcq, las opciones formatexpry formatprgestán vacías.

silviubogan
fuente
Y si el archivo se guarda / no es nuevo, ¿hay alguna diferencia?
Gabriel Petrovay
Es el mismo comportamiento.
silviubogan
Luego, podría eliminar esa información del texto para simplificar el problema.
Gabriel Petrovay
@GabrielPetrovay, ¡gracias por los comentarios! :-)Actualicé la pregunta.
silviubogan
¿Cuál es su opción 'fo' y 'formatexpr' y la opción formatprg?
Christian Brabandt

Respuestas:

18

El problema es que lo has configurado smartindenten tu ~/.vimrc. Las smartindentopciones hacen que Vim suponga que su texto es un lenguaje de programación similar a C al sangrar. Entre otras cosas, se trata forcomo una palabra clave y le da un nivel adicional de sangría a la línea siguiente. Ver

:help 'smartindent'
:help 'cinwords'
garyjohn
fuente