Fichier .c prédéfinie avec vim²

bonsoir,
quelqu’un sait-il comment faire pour paramétrer vim afin que lorsque je lance
vim toto.c un fichier toto.c soit créé avec un certain nombre de lignes prédéfinie ?

Dans le temps je mettais fais un système de template :
vim-t8605-50.html#p245418

peut être qu’il t’inspireras.

regarde au bufNewFile
:h au

par exemple pour mes fichiers tex

au bufNewFile *.tex ks|call CreaFich()|'s fun CreaFich() set filetype=tex execute("r! echo \"\\%Fichier: \"%") execute("r! echo \"\\%Crée le \"".strftime("%d %b %Y")) execute("r! echo \"\\%Dernière modification: \"".strftime("%d %b %Y %X")) execute("r ~/.vim/ftplugin/latex-suite/templates/texte.tex") endfun

voir aussi au BufRead *

Par exemple pour modifier la date de modification j’utilise

autocmd BufWritePre,FileWritePre *.tex ks|call DerModif2()|'s fun DerModif2() if line("$") > 20 let l = 20 else let l = line("$") endif exe "1," . l . "g/%Fichier: .*/s/%Fichier: .*/%Fichier: ".@% exe "1," . l . "g/Dernière modification: /s/Dernière modification: .*/Dernière modification: " . \ strftime("%d %b %Y %X") endfun

Pourquoi tu fais ça :

exe "1," . l . "g/%Fichier: .*/s/%Fichier: .*/%Fichier: ".@% exe "1," . l . "g/Dernière modification: /s/Dernière modification: .*/Dernière modification: " . \ strftime("%d %b %Y %X") endfun
Plutôt que ça :

exe "1," . l . "s/%Fichier: .*/%Fichier: ".@% exe "1," . l . "s/Dernière modification: .*/Dernière modification: " . \ strftime("%d %b %Y %X") endfun? :think:

Parceque ca date et que je n’ai pas mis le nez dedans depuis fort longtemps. :slightly_smiling:
Normalement j’ai du m’inspirer d’un exemple que j’ai copié dans l’aide.

Il est évident que je fais mes substitutions avec s/

edit: j’ai retrouvé et c’est bien dans le fichier autocmd.txt ligne 886 (j’ai l’aide traduite en francais)
sinon :h skeleton

:autocmd BufWritePre,FileWritePre *.html ks|call DerModif()|'s :fun DerModif() : if line("$") > 20 : let l = 20 : else : let l = line("$") : endif : exe "1," . l . "g/Dernière modification : /s/Dernière modification : .*/Dernière modification : " . : \ strftime("%d %b %Y %X %Z") :endfun