2008-11-20 9 views
3

Cette question fait suite à this vim search questionPuis-je empêcher les paramètres de vimrc d'être remplacés par des plugins?

J'ai un cadre dans mon .vimrc qui exclut $ comme une partie valide d'un mot:

set iskeyword-=$ 

Cela fonctionne très bien pour la plupart des fichiers, mais ne fonctionne pas dans PHP. Je suppose qu'il est écrasé par un plugin php, mais puisque les plugins sont chargés après .vimrc je ne peux pas savoir comment écraser ce paramètre. Je préfère ne pas avoir à taper

:set isk-=$ 

chaque fois que je charge un fichier PHP.

Des suggestions?

(Ubuntu 8.04/vim 7.1.138 si elle compte)

Résumé

Deux excellentes réponses, je vous remercie!

Je suis allé avec tomalak « s parce qu'il était moins d'effort, et ajouté ce qui suit à mes ~/.vimrc

autocmd FileType php setlocal isk-=$ 

mais grâce aussi à Luc Hermitte. Mettre les paramètres dans un fichier ~/vim/after/ftplugin/php.vim a également fonctionné.

: aide autocmd et : aide après répertoire à la fois aidé aussi

Répondre

5

Je probablement ajouter set isk-=$ à ma coloration syntaxique commande automatique dans $VIMRUNTIME\filetype.vim. Je ne sais pas si c'est la meilleure façon de le faire, cependant. Je pense qu'il serait suffisant d'avoir une autocommande appropriée dans votre vimrc.

au FileType php set isk-=$ 

Cette après la FileType exécute a été fixé. Les commandes automatiques sont exécutées dans l'ordre qui leur est donné, donc quand vous le mettez en retard dans votre vimrc, il exécutera la dernière fois pour les fichiers PHP.

+0

Merci Tomalak, je vais essayer ça. Étant paresseux, j'espérais vraiment quelque chose que je n'aurais pas à refaire avec chaque mise à jour de Vim. – Ken

+2

@Ken: vous pouvez faire sa suggestion dans votre propre répertoire vim. ne jamais jouer avec les fichiers du système –

8

Ajouter un {} rtp /after/ftplugin/php.vim qui contient le :setlocal isk-=$

Sinon, vous devrez suivre où il a été changé dernière avec :verbose set isk, ou en jouant avec :scriptnames

0

Faites une copie de votre fichier .vimrc, par exemple .vimrc.ref

Effectuez la copie dans un autre répertoire.

ensuite découvrir pourquoi les auteurs de plug-in vraiment besoin juste écraserait votre .vimrc sans:

  1. vous laisser savoir qu'ils démolir, et
  2. enregistrer une copie de votre fichier vimrc si vous pouvez facilement revenir en arrière.

Modifier: Et laissez http://www.vim.org/ connaître ceux qui voudraient atteindre sous vos couvertures sans vous le faire savoir!

+0

Je ne pense pas que le plugin modifie sa vimrc, je pense qu'il veut dire que le plugin change la valeur de iskeyword, et rajoute ce caractère qu'il a supprimé. Lorsque vous ne modifiez pas PHP, le paramètre iskeyword est correct. – rjray

+0

L'interprétation de rjray est correcte - le fichier .vimrc n'est pas modifié, mais les valeurs sont modifiées par un plugin. Peut-être remplacé est le mauvais mot à avoir utilisé. Merci pour votre contribution de toute façon! – Ken