textwidth = 0 et wrapwidth = 0 dans .vimrc.local non respectés


11

J'ai les lignes suivantes au bas de mon .vimrc.local:

set textwidth=0 
set wrapmargin=0

Cependant, chaque fois que j'ouvre un nouveau fichier, ces deux valeurs sont définies sur leurs valeurs par défaut (72 et 2, respectivement) et non sur mes paramètres personnalisés. Les autres paramètres de mon fichier .vimrc.local semblent être définis (onglets, etc.), mais seuls ces deux continuent d'être réinitialisés. Si j'entre, :source ~/.vimrc.localles paramètres changent et fonctionnent correctement.

Existe-t-il un moyen de voir ce qui définit quoi que ce soit au démarrage de vim? Je soupçonne qu'un plugin ou un paramètre fourni avec MacVim ou Janus définit ces options, mais je ne sais pas comment regarder chaque paramètre à la fois.


Je n'en avais jamais vu ~/.vimrc.localauparavant. La version de Janus que j'ai trouvée la source (si elle existe) à la fin de son vimrcfichier (qui est la destination du ~/.vimrclien symbolique qu'il installe, si vous utilisez sa méthode d'installation). Peut-être que toutes les versions de Janus ne le font pas - beaucoup de gens semblent fusionner celui que j'ai trouvé dans leurs fourchettes, mais je ne sais pas si c'est celui "officiel" ou non. Juste pour clarifier, où avez-vous obtenu votre Janus? S'il s'agit d'un Git, quel commit utilisez-vous?
Chris Johnsen

La peine de lire ce defaul formatoptions
anishjp

Réponses:


13

Pour savoir où «textwidth» et «wrapmargin» ont été définis en dernier, exécutez

:verbose set tw? wm?

Pour voir quels fichiers ont été obtenus, exécutez

:scriptnames

Si ceux-ci ne suffisent pas pour trouver le problème, vous pouvez utiliser l'option -V au démarrage de Vim et enregistrer les différents événements de démarrage dans un fichier. Voir

:help -V

De plus, les valeurs par défaut pour 'textwidth' et 'wrapmargin' sont toutes les deux 0, pas 72 et 2, donc déjà quelque chose les définit sur des valeurs non par défaut. Pour les valeurs par défaut, voir

:help 'textwidth'
:help 'wrapmargin'

PS Une
autre chose à vérifier est la possibilité qu'un plugin de type de fichier effectue ces réglages. La :verbose set ...commande doit indiquer où ces paramètres sont effectués, mais vous pouvez également exécuter

:set filetype?

pour voir le type de fichier actuel, puis ouvrez $VIMRUNTIME/ftplugin/<filetype>.vim, où <filetype> est la valeur de l'option 'filetype' trouvée ci-dessus, pour voir si ces paramètres sont effectués là-bas. Vous pouvez remplacer les paramètres définis par un plugin de type de fichier en plaçant vos paramètres dans un fichier que vous créez, nommé ~ / .vim / after / ftplugin / <filetype> .vim. Voir

:help filetype-overrule

élément n ° 3.


Il s'avère que le problème était d'actualité ~/.vimrc, ce qui venait de Janus. Je m'attendais source ~/.vimrc.localà ce que ce soit la dernière chose qui s'exécute, mais cela définissait ces deux-là avec la aucommande. Il semble que les paramètres ~/.vimrccontiennent beaucoup de choix stylistiques des personnes qui maintiennent Janus. Merci d'avoir écrit une réponse qui m'aidera à résoudre ces problèmes par moi-même à l'avenir. :)
Ian Potter

1
Je suis également venu ici en raison de ce problème à Janus. Mais notez que dans la dernière version, Janus ~/.vimrc.afterest exécuté en dernier, mais il y avait, par exemple, une action spécifique à python, donc j'ai dû utiliser au FileType python set softtabstop=4 tabstop=4 shiftwidth=4 textwidth=0plutôt que simplement set textwidth=0dans ce fichier.
philfreo

8

J'ai résolu ce problème en ajoutant ce qui suit à mon fichier .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()

Cela devrait désactiver les sauts de ligne automatiques indésirables pour tous les types de fichiers


1
Fonctionne en .vimrc.after lors de l'utilisation de Janus
Eric Yang

1
Huzzah, merci! C'était la seule chose qui fonctionnait pour moi. Pour une raison quelconque (je n'ai pas pu travailler), macvim remplaçait la largeur de texte dans mon vimrc pour les fichiers .txt.
brûlures mates du

0

Cela devrait aider:

(Peut BufAdd- être et BufCreateest redondant, mais je l'ai ajouté juste au cas où)

function! DisableWrap()
    set nowrap
    set nolinebreak
    set formatoptions-=cro
endfunction
autocmd BufNew,BufAdd,BufCreate,VimEnter * call DisableWrap()
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.