Quelques projets ont besoin de commandes différentes pour l'exécution, la construction et les tests. J'ai donc placé un fichier .vimrc dans chacun des répertoires de projet qui définissent les correspondances avec certains boutons F. Dans les fichiers d'aide de vim, il est écrit:
'exrc' 'ex' booléen (défaut désactivé) global {pas dans Vi} Active la lecture de .vimrc, .exrc et .gvimrc dans le courant annuaire.
J'ai donc cette option activée, mais quand je suis :cd
dans un répertoire, le fichier .vimrc n'est pas chargé. Si j'écris, :so .\.vimrc
alors ça charge bien. Pourquoi n'est-il pas chargé automatiquement?
J'utilise gVim 7.3 x64 pour Windows.
.vimrc
fichier du répertoire en cours est une très mauvaise idée. Ce fichier pourrait facilement provenir d'une archive que vous avez téléchargée, et son extraction automatique permettrait à son créateur, quelle que soit sa création, d'exécuter du code arbitraire sur votre ordinateur.set exrc
jamais travaillé pour moi. Vous pouvez essayer ce plugin . Il y en a probablement d'autres sur vim.org.Réponses:
Si « exrc » est défini, le répertoire en cours est recherché un fichier nommé
_vimrc
,.vimrc
ou_exrc
au démarrage . Cela ne se fait pas à chaque fois que vous vous dirigez:cd
vers un nouveau répertoire. Voirla source
exrc
tout problème. J'arrive sur Google:help
entrées pourargv()
etfnamemodify()
. J'ai écrit un plugin pour cela qui regarde le chemin de chaque fichier quand il est ouvert et crée un fichier de paramètres de tampon local dépendant du projet.Voici quelque chose que vous pourriez essayer:
Et vous mettriez cela dans un groupe de commandes automatiques:
Ainsi, vous mettriez vos paramètres ici, de cette façon si vous êtes dans un tampon spécifique, ces mappages seront chargés.
Je recommande également de faire certains événements BufLeave afin de désélectionner ces mappages lorsque vous ne vous trouvez pas dans ces mémoires tampons, si vous le souhaitez.
cela fonctionnerait-il pour vos besoins? Je ne sais pas exactement de quoi vous avez besoin, alors j'ai tout simplement créé un modèle pour vous. :)
Comme je l'ai montré, vous pouvez le faire de différentes manières, vous décidez ce qui convient le mieux à vos besoins. Désolé, je ne résous pas le problème sous-jacent de ce paramètre ne fonctionne pas bien. :(
la source
exrc
ne fonctionne pas comme annoncé. Ai-je mal compris ce que signifie l'option?set exrc
dans votre fichier .vimrc actuel? En outre, au lieu d'un fichier .vimrc, saviez-vous que vous pouvez également utiliser un fichier .exrc pour ces personnalisations?Dans vim version 8.1 ^, il existe un événement autocmd nommé DirChanged que vous pouvez utiliser pour évaluer votre projet en particulier
.vimrc
. Voici plus de détails sur le moment où cet événement est déclenché:Exemple de travail
Je ne suis pas un expert en vim-script, mais j'ai créé la fonction suivante qui charge le
.vimrc
fichier spécifique à mon projet , une fois que je suiscd
dans le dossier du projet. Passé cette fonction dans votre~/.vimrc
fichier principal .la source
À titre d'information, j'ai fini par créer un raccourci pour chacun de mes projets et à charger un fichier de configuration spécifique à un projet en tant que fichier de session à l'aide de
-S session.vim
.la source
A mon avis, c'est la meilleure variante:
Source de: http://vim.wikia.com/wiki/Open_vimrc_file mais syntaxe corrigée
la source