Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[gentoo-user-fr] HS template dans Vi

2 réponses
Avatar
Yannick Loiseau
Salut

C'est un peu HS, mais je viens de "decouvrir" qu'un vi sur un nouveau
fichier dans /etc/init.d ouvre un template de script d'init, et j'ai
aucune idée de comment il fait ca :)
C'est interessant, alors j'aimerais pouvoir le reproduire dans d'autres
cas. Vous savez quelle config permet ca ? c'est vim 7.0 en ~x86

Merci
--
gentoo-user-fr@gentoo.org mailing list

2 réponses

Avatar
Bruno Michel
Yannick Loiseau wrote:
Salut

C'est un peu HS, mais je viens de "decouvrir" qu'un vi sur un nouveau
fichier dans /etc/init.d ouvre un template de script d'init, et j'ai
aucune idée de comment il fait ca :)
C'est interessant, alors j'aimerais pouvoir le reproduire dans d'autres
cas. Vous savez quelle config permet ca ? c'est vim 7.0 en ~x86

Merci



Salut,

un fichier texte explique l'utilisation des fonctionnalités :
/usr/share/vim/vimfiles/doc/gentoo-syntax.txt

Pour comprendre comment ca marche, le mieux est d'aller voir le plugin
pour vim qui permet de faire ca :
/usr/share/vim/vimfiles/plugin/newinitd.vim

Si tu veux juste faire des templates, voici une méthode plus directe :

1. créer un fichier avec son template :
echo "Contenu du template" > ~/template

2. modifier son fichier de configuration vimrc (/etc/vim/vimrc.local
pour qu'il soit utilisable par tous les utilisateurs du système, ou
~/.vimrc pour juste l'utilisateur courant) :
vim ~/.vimrc

3. rajouter la ligne suivante :
au BufNewFile *.toto 0r ~/template

En gros, cette ligne se décompose en :
au -> commande automatiquement exécutée sur un événement
BufnewFile -> cette événement est la création d'un nouveau fichier
Le *.toto est une expression régulière qui servira à matcher le nom du
nouveau fichier. Ici, tous les fichiers avec l'extension toto
profiteront de ce template. Pour les scripts d'init, l'expression
régulière utilisée est /etc/init.d/*
0r -> lire le contenu d'un fichier et l'insérer après la ligne 0 (donc
au début du fichier)
~/template -> le fichier lu, dont le contenu sera inséré.

4. quitter (:wq)

5. essayer son nouveau template :
vim essai.toto

--
Bruno Michel
--
mailing list
Avatar
Yannick Loiseau
Nickel ! :)

J'utilisais new, qui permet de remplacer des variables a la volée, mais
pour un template simple, c'est mieux direct dans Vi.

Merci

Bruno Michel wrote:
En gros, cette ligne se décompose en :
au -> commande automatiquement exécutée sur un événement
BufnewFile -> cette événement est la création d'un nouveau fichier
Le *.toto est une expression régulière qui servira à matcher le nom du
nouveau fichier. Ici, tous les fichiers avec l'extension toto
profiteront de ce template. Pour les scripts d'init, l'expression
régulière utilisée est /etc/init.d/*
0r -> lire le contenu d'un fichier et l'insérer après la ligne 0 (donc
au début du fichier)
~/template -> le fichier lu, dont le contenu sera inséré.



--
mailing list