1 |
Yannick Loiseau wrote: |
2 |
> Salut |
3 |
> |
4 |
> C'est un peu HS, mais je viens de "decouvrir" qu'un vi sur un nouveau |
5 |
> fichier dans /etc/init.d ouvre un template de script d'init, et j'ai |
6 |
> aucune idée de comment il fait ca :) |
7 |
> C'est interessant, alors j'aimerais pouvoir le reproduire dans d'autres |
8 |
> cas. Vous savez quelle config permet ca ? c'est vim 7.0 en ~x86 |
9 |
> |
10 |
> Merci |
11 |
|
12 |
Salut, |
13 |
|
14 |
un fichier texte explique l'utilisation des fonctionnalités : |
15 |
/usr/share/vim/vimfiles/doc/gentoo-syntax.txt |
16 |
|
17 |
Pour comprendre comment ca marche, le mieux est d'aller voir le plugin |
18 |
pour vim qui permet de faire ca : |
19 |
/usr/share/vim/vimfiles/plugin/newinitd.vim |
20 |
|
21 |
Si tu veux juste faire des templates, voici une méthode plus directe : |
22 |
|
23 |
1. créer un fichier avec son template : |
24 |
echo "Contenu du template" > ~/template |
25 |
|
26 |
2. modifier son fichier de configuration vimrc (/etc/vim/vimrc.local |
27 |
pour qu'il soit utilisable par tous les utilisateurs du système, ou |
28 |
~/.vimrc pour juste l'utilisateur courant) : |
29 |
vim ~/.vimrc |
30 |
|
31 |
3. rajouter la ligne suivante : |
32 |
au BufNewFile *.toto 0r ~/template |
33 |
|
34 |
En gros, cette ligne se décompose en : |
35 |
au -> commande automatiquement exécutée sur un événement |
36 |
BufnewFile -> cette événement est la création d'un nouveau fichier |
37 |
Le *.toto est une expression régulière qui servira à matcher le nom du |
38 |
nouveau fichier. Ici, tous les fichiers avec l'extension toto |
39 |
profiteront de ce template. Pour les scripts d'init, l'expression |
40 |
régulière utilisée est /etc/init.d/* |
41 |
0r -> lire le contenu d'un fichier et l'insérer après la ligne 0 (donc |
42 |
au début du fichier) |
43 |
~/template -> le fichier lu, dont le contenu sera inséré. |
44 |
|
45 |
4. quitter (:wq) |
46 |
|
47 |
5. essayer son nouveau template : |
48 |
vim essai.toto |
49 |
|
50 |
-- |
51 |
Bruno Michel |
52 |
-- |
53 |
gentoo-user-fr@g.o mailing list |