Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[Vim] Options dans .vimrc dépendant du chemin

5 views
Skip to first unread message

Olivier Miakinen

unread,
Jan 25, 2018, 12:06:32 PM1/25/18
to
Bonjour,

Faisant la maintenance de plusieurs programmes différents
écrits par des développeurs différents, je voudrais pouvoir
adapter les paramètres du .vimrc en fonction du chemin des
fichiers.

Par exemple,

Sous /path/MACHIN/src :
set tabstop=8

Sous /path/TRUC/src :
set tabstop=2
set expandtab

Sous /path/BIDULE/src :
set tabstop=4

Partout ailleurs :
set tabstop=4
set expandtab

Y a-t-il un moyen de faire ça ?

Cordialement,
--
Olivier Miakinen

Florian Rehnisch

unread,
Jan 27, 2018, 10:41:59 AM1/27/18
to
• Olivier Miakinen <om+...@miakinen.net>:
Peut-être tu cherche auto command (lis :h :au). Pour
change le filetype des vimdocs allemands, j'ai

au bufread *.dex setf help

dans mon vimrc.

--
Amicallement,
fm-r

Olivier Miakinen

unread,
Jan 27, 2018, 12:11:30 PM1/27/18
to
Le 27/01/2018 16:41, Florian Rehnisch m'a répondu :
>>
>> Par exemple,
>>
>> Sous /path/MACHIN/src :
>> set tabstop=8
>>
>> Sous /path/TRUC/src :
>> set tabstop=2
>> set expandtab
>>
>> [...]
>
> Peut-être tu cherche auto command

Je n'ai pas l'impression que ça puisse résoudre mon problème puisque
si je comprends bien ça se base sur le nom du fichier et pas sur son
emplacement.

Par exemple, je pourrais avoir un fichier main.c sous /path/MACHIN
et un autre main.c sous /path/TRUC, et j'ai besoin de paramètres
tabstop et expandtab différents pour ces deux main.c.

Cela dit, en parcourant la doc, je me demande si je ne pourrais pas
me baser sur le répertoire courant avec un truc de ce genre :

:if getcwd() ~ /path/MACHIN
: set tabstop=8
:elseif getcwd() ~ /path/TRUC
: set tabstop=2
: set expandtab
:elseif getcwd() ~ /path/BIDULE
: set tabstop=4
:else
: set tabstop=4
: set expandtab
:endif

Il va falloir que j'essaye.

--
Olivier Miakinen

Olivier Miakinen

unread,
Jan 27, 2018, 12:12:54 PM1/27/18
to
[supersedes]

Le 27/01/2018 16:41, Florian Rehnisch m'a répondu :
>>
>> Par exemple,
>>
>> Sous /path/MACHIN/src :
>> set tabstop=8
>>
>> Sous /path/TRUC/src :
>> set tabstop=2
>> set expandtab
>>
>> [...]
>
> Peut-être tu cherche auto command

Je n'ai pas l'impression que ça puisse résoudre mon problème puisque
si je comprends bien ça se base sur le nom du fichier et pas sur son
emplacement.

Par exemple, je pourrais avoir un fichier main.c sous /path/MACHIN
et un autre main.c sous /path/TRUC, et j'ai besoin de paramètres
tabstop et expandtab différents pour ces deux main.c.

Cela dit, en parcourant la doc, je me demande si je ne pourrais pas
me baser sur le répertoire courant avec un truc de ce genre :

:if getcwd() =~ /path/MACHIN
: set tabstop=8
:elseif getcwd() =~ /path/TRUC
: set tabstop=2
: set expandtab
:elseif getcwd() =~ /path/BIDULE

mca

unread,
Jan 27, 2018, 8:00:35 PM1/27/18
to
Bonjour,

Le 25/01/2018 à 18:06, Olivier Miakinen a écrit :

> Faisant la maintenance de plusieurs programmes différents
> écrits par des développeurs différents, je voudrais pouvoir
> adapter les paramètres du .vimrc en fonction du chemin des
> fichiers.

Ces deux plugins pourraient correspondre au besoin
http://www.vim.org/scripts/script.php?script_id=3393
http://www.vim.org/scripts/script.php?script_id=441

trouvés à partir de cette discussion
https://superuser.com/questions/598947/setting-vim-options-only-for-files-in-a-certain-directory-tree

L'avantage du plugin étant de mieux prendre en compte l'aspect sécurité

Olivier Miakinen

unread,
Jan 30, 2018, 9:58:08 AM1/30/18
to
Oups ! Je crois que j'ai oublié de répondre...

Le 28/01/2018 02:00, mca m'a répondu :
>
> Ces deux plugins pourraient correspondre au besoin
> http://www.vim.org/scripts/script.php?script_id=3393
> http://www.vim.org/scripts/script.php?script_id=441
>
> trouvés à partir de cette discussion
> https://superuser.com/questions/598947/setting-vim-options-only-for-files-in-a-certain-directory-tree
>
> L'avantage du plugin étant de mieux prendre en compte l'aspect sécurité

Oui, ça me semble une solution excellente ! Malheureusement je n'ai
pas encore pris le temps d'essayer. Je promets de revenir écrire ici
quand je l'aurai fait.

Cordialement,
--
Olivier Miakinen

Jo Engo

unread,
Oct 11, 2019, 12:08:39 PM10/11/19
to
Le Tue, 30 Jan 2018 15:58:07 +0100, Olivier Miakinen a écrit :

> Je promets de revenir écrire ici
> quand je l'aurai fait.


Alors, tu ne l'as pas fait ?


--
Si vous voulez savoir ce qu'une démonstration démontre, regardez la
démonstration.
-+- Ludwig von Wittgenstein -+-

Olivier Miakinen

unread,
Oct 11, 2019, 2:44:49 PM10/11/19
to
Le 11/10/2019 à 18:08, Jo Engo m'a répondu :
> Le Tue, 30 Jan 2018 15:58:07 +0100, Olivier Miakinen a écrit :
>
>> Je promets de revenir écrire ici
>> quand je l'aurai fait.
>
> Alors, tu ne l'as pas fait ?

À ma grande honte, non, je n'ai jamais pris le temps d'essayer.

Désolé.

--
Olivier Miakinen
0 new messages