Discussion:
[Vim] Options dans .vimrc dépendant du chemin
(trop ancien pour répondre)
Olivier Miakinen
2018-01-25 17:06:31 UTC
Permalink
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
2018-01-27 15:41:58 UTC
Permalink
Post by Olivier Miakinen
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,
set tabstop=8
set tabstop=2
set expandtab
set tabstop=4
set tabstop=4
set expandtab
Y a-t-il un moyen de faire ça ?
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
2018-01-27 17:13:01 UTC
Permalink
Post by Florian Rehnisch
Post by Olivier Miakinen
Par exemple,
set tabstop=8
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
2018-01-27 17:14:26 UTC
Permalink
[supersedes]
Post by Florian Rehnisch
Post by Olivier Miakinen
Par exemple,
set tabstop=8
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
mca
2018-01-28 01:00:35 UTC
Permalink
Bonjour,
Post by Olivier Miakinen
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
2018-01-30 14:58:07 UTC
Permalink
Oups ! Je crois que j'ai oublié de répondre...
Post by mca
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
2019-10-11 16:08:38 UTC
Permalink
Post by Olivier Miakinen
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
2019-10-11 18:44:48 UTC
Permalink
Post by Jo Engo
Post by Olivier Miakinen
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
Loading...