textwidth = 0 y wrapwidth = 0 en .vimrc.local no se respeta

11

Tengo las siguientes líneas en la parte inferior de mi .vimrc.local:

set textwidth=0 
set wrapmargin=0

Sin embargo, cada vez que abro un nuevo archivo, ambos valores se establecen en sus valores predeterminados (72 y 2, respectivamente) y no en mi configuración personalizada. Las otras configuraciones en mi archivo .vimrc.local parecen estar configuradas (pestañas, etc.) pero solo estas dos se siguen restableciendo. Si entro, :source ~/.vimrc.localla configuración cambia y funciona correctamente.

¿Hay alguna manera de ver qué está configurando algo cuando vim se inicia? Sospecho que algún complemento o configuración que vino con MacVim o Janus está configurando estas opciones, pero no sé cómo ver cada configuración a la vez.

Ian Potter
fuente
Nunca lo había visto ~/.vimrc.localantes. La versión de Janus que encontré lo busca (si existe) al final de su vimrcarchivo (que es el destino del ~/.vimrcenlace simbólico que instala, si usa su método de instalación). Tal vez no todas las versiones de Janus hacen esto: muchas personas parecen fusionar la que encontré en sus tenedores, pero no tengo idea de si esta es la "oficial" o no. Solo para aclarar, ¿de dónde sacaste tu Janus? Si es uno basado en Git, ¿qué commit estás usando?
Chris Johnsen
Vale la pena leer esta forma de pago predeterminada
anishjp

Respuestas:

13

Para averiguar dónde se establecieron por última vez 'textwidth' y 'wrapmargin', ejecute

:verbose set tw? wm?

Para ver qué archivos se han originado, ejecute

:scriptnames

Si eso no es suficiente para encontrar el problema, puede usar la opción -V cuando se inicia Vim y registrar los diversos eventos de inicio en un archivo. Ver

:help -V

Además, los valores predeterminados para 'textwidth' y 'wrapmargin' son ambos 0, no 72 y 2, por lo que ya algo los está configurando en valores no predeterminados. Para los valores predeterminados, vea

:help 'textwidth'
:help 'wrapmargin'

PD
Algo más para verificar es la posibilidad de que un complemento de tipo de archivo esté haciendo esa configuración. El :verbose set ...comando debe mostrar dónde se realizan esas configuraciones, pero también puede ejecutar

:set filetype?

para ver el tipo de archivo actual, luego abra $VIMRUNTIME/ftplugin/<filetype>.vim, donde <tipo de archivo> es el valor de la opción 'tipo de archivo' que se encuentra arriba, para ver si esa configuración se está haciendo allí. Puede anular la configuración realizada por un complemento de tipo de archivo colocando su configuración en un archivo que cree, llamado ~ / .vim / after / ftplugin / <filetype> .vim. Ver

:help filetype-overrule

Artículo # 3.

garyjohn
fuente
Resulta que el problema estaba en ~/.vimrc, que vino de Janus. Esperaba source ~/.vimrc.localque fuera lo último que se ejecutara, pero estaba configurando esos dos con el aucomando. Parece que la configuración ~/.vimrccontiene muchas opciones estilísticas de las personas que mantienen a Janus. Gracias por escribir una respuesta que me ayudará a resolver estos problemas por mí mismo en el futuro. :)
Ian Potter
1
También vine aquí debido a este problema en Janus. Pero tenga en cuenta que en el último Janus ~/.vimrc.afterse ejecuta el último, sin embargo, hubo, por ejemplo, una acción específica de Python, por lo que tuve que usar en au FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=0lugar de simplemente set textwidth=0en ese archivo.
philfreo
8

Resolví esto agregando lo siguiente a mi archivo .vimrc.local :

" Disable annoying auto line break
fu! DisableBr()
    set wrap
    set linebreak
    set nolist  " list disables linebreak
    set textwidth=0
    set wrapmargin=0
    set fo-=t
endfu

" Disable line breaks for all file types
:au BufNewFile,BufRead *.* call DisableBr()

Esto debería deshabilitar los saltos de línea automáticos no deseados para todos los tipos de archivos

Siavash Ghorbani
fuente
1
Funciona en .vimrc. Después de usar Janus
Eric Yang
1
Huzzah, gracias! Esto fue lo único que funcionó para mí. Por alguna razón (no pude resolverlo) macvim estaba anulando el ancho de texto en mi vimrc para archivos .txt.
Matt quema el
0

Esto debería ayudar:

(Tal vez BufAddy BufCreatees redundante, pero lo agregué por si acaso)

function! DisableWrap()
    set nowrap
    set nolinebreak
    set formatoptions-=cro
endfunction
autocmd BufNew,BufAdd,BufCreate,VimEnter * call DisableWrap()
meain
fuente