# Fichier .c prédéfinie avec vim²

**URL:** <https://www.debian-fr.org/t/fichier-c-predefinie-avec-vim/32216>\
**Category:** Programmation\
**Created:** [Février 21, 2016, 2:14 UTC](https://www.debian-fr.org/t/fichier-c-predefinie-avec-vim/32216 "2016-02-21T02:14:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![zerimbak](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/z/cc9497/32.png) [@zerimbak](https://www.debian-fr.org/u/zerimbak)\
**Post date:** [Février 21, 2016, 2:14 UTC](https://www.debian-fr.org/t/fichier-c-predefinie-avec-vim/32216/1 "2016-02-21T02:14:34Z")

</div>

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 ?

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:14 UTC](https://www.debian-fr.org/t/fichier-c-predefinie-avec-vim/32216/2 "2016-02-21T02:14:37Z")

</div>

Dans le temps je mettais fais un système de template :  
[vim-t8605-50.html#p245418](http://www.debian-fr.org/vim-t8605-50.html#p245418)

peut être qu’il t’inspireras.

---

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Février 21, 2016, 2:16 UTC](https://www.debian-fr.org/t/fichier-c-predefinie-avec-vim/32216/3 "2016-02-21T02:16:09Z")

</div>

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
`

---

<div class="post-metadata">

**Author:** ![MisterFreez](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/m/bb73d2/32.png) [@MisterFreez](https://www.debian-fr.org/u/MisterFreez)\
**Post date:** [Février 21, 2016, 2:16 UTC](https://www.debian-fr.org/t/fichier-c-predefinie-avec-vim/32216/4 "2016-02-21T02:16:09Z")

</div>

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:](https://www.debian-fr.org/uploads/default/original/1X/98cae0704aea0201d04f151843e80a3ecd391eca.gif "Think")

---

<div class="post-metadata">

**Author:** ![limax](https://www.debian-fr.org/user_avatar/www.debian-fr.org/limax/32/3886_2.png) [@limax](https://www.debian-fr.org/u/limax)\
**Post date:** [Février 21, 2016, 2:16 UTC](https://www.debian-fr.org/t/fichier-c-predefinie-avec-vim/32216/5 "2016-02-21T02:16:12Z")

</div>

> [@MisterFreez](#):
>
> Pourquoi tu fais ça :

Parceque ca date et que je n’ai pas mis le nez dedans depuis fort longtemps. 🙂  
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`
