<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://blog.menfin.info/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
  <title>M'enfin ?!? - Vim</title>
  <link>http://blog.menfin.info/</link>
  <description></description>
  <language>fr</language>
  <pubDate>Mon, 18 Aug 2008 22:16:07 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Github theme for Vim</title>
    <link>http://blog.menfin.info/post/2008/05/30/Github-theme-for-Vim</link>
    <guid isPermaLink="false">urn:md5:c1b1c214e2e3f698108b34dcdcb18564</guid>
    <pubDate>Fri, 30 May 2008 02:14:00 +0200</pubDate>
    <dc:creator>M'enfin ?!?</dc:creator>
        <category>Vim</category>
            
    <description>    &lt;p&gt;Scott Becker has made a &lt;a href=&quot;http://synthesis.sbecker.net/articles/2008/05/28/github-theme-for-textmate&quot;&gt;Github
theme for Textmate&lt;/a&gt;, so I've decided to made a Github theme for ViM.&lt;/p&gt;
&lt;p&gt;It's available on github: &lt;a href=&quot;http://github.com/nono/github_vim_theme/tree/master&quot;&gt;Github Vim Theme&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.menfin.info/public/Github_theme_for_vim.png&quot;&gt;&lt;img src=&quot;http://blog.menfin.info/public/./.Github_theme_for_vim_m.jpg&quot; alt=&quot;Screenshot of the Github theme for Vim&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.menfin.info/post/2008/05/30/Github-theme-for-Vim#comment-form</comments>
      <wfw:comment>http://blog.menfin.info/post/2008/05/30/Github-theme-for-Vim#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.menfin.info/feed/rss2/comments/245399</wfw:commentRss>
      </item>
    
  <item>
    <title>Tips pour Vim</title>
    <link>http://blog.menfin.info/post/2007/11/18/Tips-pour-Vim</link>
    <guid isPermaLink="false">urn:md5:0154fbb47a7c20541e03fb5ee2a5e7e5</guid>
    <pubDate>Sun, 18 Nov 2007 02:10:00 +0100</pubDate>
    <dc:creator>M'enfin ?!?</dc:creator>
        <category>Vim</category>
            
    <description>    &lt;p&gt;Voici quelques trucs pour ViM que j'ai utilisé aujourd'hui :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;mettre &lt;code&gt;au BufRead,BufNewFile /etc/apache/** setf apache2&lt;/code&gt; dans
le fichier &lt;code&gt;$HOME/.vim/ftdetect/apache.vim&lt;/code&gt; pour que les fichiers
&lt;code&gt;/etc/apache2&lt;/code&gt; soient bien reconnus comme des fichiers de conf
d'apache (pour la coloration syntaxique) ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;%&lt;/code&gt; pour sauter d'une parenthèse ouvrante à la parenthèse
fermante qui lui correspond (et vice-versa) : c'est un déplacement
classique dans ViM, mais ca fait toujours plaisir quand on a des dizaines de
parenthèses qui s'ouvrent et se ferment dans tous les sens ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;248|&lt;/code&gt; permet de se déplacer au 248ème caractère de la ligne
courante ;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gg247&amp;lt;barre d'esspacement&amp;gt;&lt;/code&gt; permet de se déplacer au
248ème caractère du fichier (en fait, ca permet de se placer sur le premier
caractère, puis d'avancer 247 fois d'un caractère).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bref, rien d'extraordinaire, mais je suis bien malheureux quand je me
retrouve sous un autre éditeur et que je ne peux plus utiliser ces petits
trucs.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.menfin.info/post/2007/11/18/Tips-pour-Vim#comment-form</comments>
      <wfw:comment>http://blog.menfin.info/post/2007/11/18/Tips-pour-Vim#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.menfin.info/feed/rss2/comments/176421</wfw:commentRss>
      </item>
    
  <item>
    <title>Copier-Coller depuis ViM</title>
    <link>http://blog.menfin.info/post/2006/07/11/Copier-Coller-depuis-ViM</link>
    <guid isPermaLink="false">urn:md5:5ced5b2a86293295c74a8786cc00d3b9</guid>
    <pubDate>Tue, 11 Jul 2006 00:15:00 +0200</pubDate>
    <dc:creator>M'enfin ?!?</dc:creator>
        <category>Vim</category>
            
    <description>    &lt;p&gt;Dans mon dernier billet, j'écrivais que je rédige mes billets avec ViM, puis que je fais un copier-coller vers l'interface web de Dotclear.
Pour cela, je fais la combinaison de touches suivantes :&lt;/p&gt;
&lt;pre&gt;
gg      Aller au début du fichier et
&amp;quot;*      utiliser le registre &amp;quot;* pour ...
yG      ... copier le texte jusqu'à la fin du fichier.
&lt;/pre&gt;

&lt;p&gt;Et comme le registe &lt;code&gt;&amp;quot;*&lt;/code&gt; correspond au &lt;em&gt;clipboard&lt;/em&gt;, je peux ensuite coller mon texte dans mon navigateur web (firefox).&lt;/p&gt;


&lt;p&gt;Mais pour ce post, j'ai décidé de suivre
&lt;a href=&quot;http://blog.menfin.info/post/2006/07/09/Coloration-syntaxique-dans-Vim-pour-les-billets-Dotclear#c45302&quot;&gt;le conseil de Romuald&lt;/a&gt;
et d'utiliser l'extension &lt;a href=&quot;http://mozex.mozdev.org/&quot;&gt;Mozex&lt;/a&gt;, et à première vue, ca paraît pas mal.&lt;/p&gt;


&lt;p&gt;&lt;ins&gt;Mise à jour&lt;/ins&gt; : bon, en fait, j'ai un problème d'encodage avec mozex, mais j'espère bien le régler.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.menfin.info/post/2006/07/11/Copier-Coller-depuis-ViM#comment-form</comments>
      <wfw:comment>http://blog.menfin.info/post/2006/07/11/Copier-Coller-depuis-ViM#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.menfin.info/feed/rss2/comments/17841</wfw:commentRss>
      </item>
    
  <item>
    <title>Coloration syntaxique dans Vim pour les billets Dotclear</title>
    <link>http://blog.menfin.info/post/2006/07/09/Coloration-syntaxique-dans-Vim-pour-les-billets-Dotclear</link>
    <guid isPermaLink="false">urn:md5:047f52324706c7245f65b2594c0d3ca0</guid>
    <pubDate>Sun, 09 Jul 2006 23:25:00 +0200</pubDate>
    <dc:creator>M'enfin ?!?</dc:creator>
        <category>Vim</category>
            
    <description>    &lt;p&gt;Je ne sais pas pour vous, mais moi, j'ai horreur de devoir taper du texte dans mon navigateur web.
Aussi, dès que je tape plus de quelques lignes, j'utilise ViM, puis je fais un copier-coller vers firefox.
Cela me permet par exemple de profiter de la coloration syntaxique.&lt;/p&gt;


&lt;p&gt;En particulier, je tape mes billets sous ViM, et je me suis donc créé le fichier de syntaxe pour là aussi avoir la coloration syntaxique.
Ce fichier est téléchargeable ici : &lt;a href=&quot;http://blog.menfin.info/public/dotclear.vim&quot;&gt;dotclear.vim&lt;/a&gt;
Il faut le placer dans le répertoire &lt;code&gt;~/.vim/syntax/&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Et pour que ViM sache automatiquement que les fichiers avec l'extension &lt;code&gt;.dc&lt;/code&gt; sont au format &lt;code&gt;dotclear&lt;/code&gt;, il suffit de créer un fichier &lt;code&gt;~/.vim/ftdetect/dotclear.vim&lt;/code&gt; avec le contenu suivant :&lt;/p&gt;
&lt;pre&gt;
au BufRead,BufNewFile *.dc  set ft=dotclear
&lt;/pre&gt;</description>
    
          <enclosure url="http://blog.menfin.info/public/dotclear.vim"
      length="2979" type="text/plain" />
    
    
          <comments>http://blog.menfin.info/post/2006/07/09/Coloration-syntaxique-dans-Vim-pour-les-billets-Dotclear#comment-form</comments>
      <wfw:comment>http://blog.menfin.info/post/2006/07/09/Coloration-syntaxique-dans-Vim-pour-les-billets-Dotclear#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.menfin.info/feed/rss2/comments/17591</wfw:commentRss>
      </item>
    
  <item>
    <title>Templates dans vim 2 / 2</title>
    <link>http://blog.menfin.info/post/2006/07/09/Templates-dans-vim-2-/-2</link>
    <guid isPermaLink="false">urn:md5:2558e81799ae016044cdbbe63b34f322</guid>
    <pubDate>Sun, 09 Jul 2006 21:44:00 +0200</pubDate>
    <dc:creator>M'enfin ?!?</dc:creator>
        <category>Vim</category>
            
    <description>&lt;p&gt;Voici la suite du précédent tips.&lt;/p&gt;    &lt;p&gt;Comme promis, nous allons donc voir comment avoir des templates un peu plus dynamiques. Le langage de script de vim n'étant pas des plus sympathiques, je préfère appeler un programme externe.
Pour cela, nous allons remplacer la ligne que nous avions insérée dans le fichier vimrc par celle-là :&lt;/p&gt;
&lt;pre&gt;
au BufNewFile * 0r! ~/.vim/skeleton.rb
&lt;/pre&gt;


&lt;p&gt;Ici, c'est un script en ruby (&lt;code&gt;skeleton.rb&lt;/code&gt;) qui est appelé.
Pour le moment, ce script ne reçoit aucun paramètre.
Pas terrible pour savoir quel template utiliser !
Pour régler ce problème, nous pouvons passer par exemple le nom du fichier, avec son chemin complet.
Il suffit de rajouter &lt;code&gt;%:p&lt;/code&gt; toujours à la me ligne du fichier vimrc.
&lt;code&gt;%&lt;/code&gt; indique le fichier courant, et &lt;code&gt;:p&lt;/code&gt; est un modificateur pour avoir le chemin complet.&lt;/p&gt;


&lt;p&gt;Mais, &lt;strong&gt;ViM&lt;/strong&gt; fait déjà de la détection de &lt;em&gt;filetype&lt;/em&gt;, aussi il peut être intéressant de passer ce &lt;em&gt;filetype&lt;/em&gt; à notre script.
Pour cela, nous allons encore modifier notre ligne :&lt;/p&gt;
&lt;pre&gt;
au BufNewFile * :exe(&amp;quot;0r! ~/.vim/skeleton.rb %:p &amp;quot; . &amp;amp;filetype)
&lt;/pre&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; : comme il n'est pas possible à ma connaissance de passer directement le filtype à la commande r!, je construit d'abord la chaîne de cractère avec toute la commande et  le filetype, puis je l'éxécute.&lt;/p&gt;


&lt;p&gt;Maintenant que nous pouvons appeller un script avec le chemin du fichier et son &lt;em&gt;filetype&lt;/em&gt;, je pense qu'on peut dire que c'est gagné.
Voici à titre d'exemple le script que j'utilise :&lt;/p&gt;
&lt;pre&gt;
#!/usr/bin/env ruby
# Author: Bruno Michel &amp;lt;bmichel@menfin.info&amp;gt;
# Licence: MIT &amp;lt;http://www.opensource.org/licenses/mit-license.html&amp;gt;

require 'erb' 


SKELETON_DIR = File.expand_path(&amp;quot;~/.vim/skeleton&amp;quot;);
EXTENSION  = &amp;quot;erb&amp;quot;

file, filetype = ARGV
filename  = File.basename(file)
skeletons = [filename, filetype]
skeleton  = skeletons.map { |s|
    File.join(SKELETON_DIR, &amp;quot;#{s}.#{EXTENSION}&amp;quot;)
}.find { |s|
    File.exist?(s) &amp;amp;&amp;amp; File.readable?(s)
}

exit if skeleton.nil?

File.open(skeleton) do |f|
    puts ERB.new(f.read, nil, '&amp;lt;&amp;gt;').result(binding)
end
&lt;/pre&gt;


&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; : si vous voulez utiliser ce script, n'oubliez pas de le rendre exécutable (&lt;code&gt;chmod a+x ~/.vim/skeleton.rb&lt;/code&gt;)&lt;/p&gt;


&lt;p&gt;Ce script va chercher un fichier &lt;code&gt;.erb&lt;/code&gt; dans le répertoire &lt;code&gt;~/.vim/skeleton&lt;/code&gt; dont le nom correspond soit au nom du nouveau fichier, soit à son filetype.
Et dans ce répertoire, on trouve, par exemple, &lt;code&gt;ruby.erb&lt;/code&gt; :&lt;/p&gt;
&lt;pre&gt;
#!/usr/bin/env ruby
# Author: Bruno Michel &amp;lt;bmichel@menfin.info&amp;gt;
# Licence: MIT &amp;lt;http://www.opensource.org/licenses/mit-license.html&amp;gt;
&lt;/pre&gt;

&lt;p&gt;ou &lt;code&gt;README.erb&lt;/code&gt; :&lt;/p&gt;
&lt;pre&gt;
&amp;lt;%= `figlet -c README` %&amp;gt;
&amp;lt;%# figlet: http://www.figlet.org %&amp;gt;

Author: Bruno Michel &amp;lt;bmichel@menfin.info&amp;gt; 
Date: &amp;lt;%= Date.today.strftime(&amp;quot;%d/%m/%y&amp;quot;) %&amp;gt; 
Time: &amp;lt;%= Time.now.strftime(&amp;quot;%H:%M:%S&amp;quot;) %&amp;gt;
&amp;lt;% directory = File.dirname(file) %&amp;gt;
Project: &amp;lt;%= File.split(directory).last %&amp;gt;
&lt;/pre&gt;


&lt;p&gt;Et voilà, mission accomplie, nous avons des templates dynamiques, avec notamment la possibilité d'insérer la date ou l'heure courante.&lt;/p&gt;</description>
    
    
    
          <comments>http://blog.menfin.info/post/2006/07/09/Templates-dans-vim-2-/-2#comment-form</comments>
      <wfw:comment>http://blog.menfin.info/post/2006/07/09/Templates-dans-vim-2-/-2#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.menfin.info/feed/rss2/comments/17586</wfw:commentRss>
      </item>
    
  <item>
    <title>Templates dans vim 1 / 2</title>
    <link>http://blog.menfin.info/post/2006/07/05/Templates-dans-vim-1-/-2</link>
    <guid isPermaLink="false">urn:md5:0bec74b459a0f413a31464dc824ae231</guid>
    <pubDate>Wed, 05 Jul 2006 22:56:00 +0200</pubDate>
    <dc:creator>M'enfin ?!?</dc:creator>
        <category>Vim</category>
            
    <description>&lt;p&gt;Hop, pour ce premier tips, je vais vous montrer comment utiliser des
templates dans Vim.&lt;/p&gt;    &lt;p&gt;Hop, pour ce premier tips, je vais vous montrer comment utiliser des
templates dans Vim. Par exemple, supposons que je veuille avoir ces quelques
lignes :&lt;/p&gt;
&lt;pre&gt;
#!/usr/bin/env ruby
# Author: Bruno Michel &amp;lt;bmichel@menfin.info&amp;gt;
# Licence: MIT &amp;lt;http://www.opensource.org/licenses/mit-license.html&amp;gt;
&lt;/pre&gt;
&lt;p&gt;au début de chaque nouveau script ruby.&lt;/p&gt;
&lt;h3&gt;Mode d'emploi&lt;/h3&gt;
&lt;p&gt;Pour cela, nous allons faire simple :&lt;/p&gt;
&lt;p&gt;1. créer un fichier avec ce template, et le placer dans le répertoire
~/vim/templates :&lt;/p&gt;
&lt;pre&gt;
$ mkdir -p ~/.vim/templates
$ echo &amp;quot;#!/usr/bin/env ruby&amp;quot; &amp;gt; ~/.vim/templates/ruby
$ ...
$ echo  &amp;quot;#-------------------------------------------------------------------&amp;quot; &amp;gt;&amp;gt; ~/.vim/templates/ruby
&lt;/pre&gt;
&lt;p&gt;2. modifier son fichier de configuration de vim :&lt;/p&gt;
&lt;pre&gt;
$ vim ~/.vimrc
&lt;/pre&gt;
&lt;p&gt;et rajouter la ligne suivante :&lt;/p&gt;
&lt;pre&gt;
au BufNewFile *.rb 0r ~/.vim/templates/ruby
&lt;/pre&gt;
&lt;p&gt;3. quitter et vérifier que cela fonctionne :&lt;/p&gt;
&lt;pre&gt;
:wq
$ vim foo.rb
&lt;/pre&gt;
&lt;h3&gt;Explications&lt;/h3&gt;
&lt;p&gt;La ligne ajoutée au fichier vimrc peut se décomposer en :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;au&lt;/strong&gt; : indique une commande qui sera
automatiquement&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;BufNewFile&lt;/strong&gt; : l'exécution automatique se fera sur la
création d'un nouveau fichier&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;*.rb&lt;/strong&gt; : ce paramètre indique que le fichier doit avoir
l'extension .rb pour que la commande soit éxécutée&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;0r ~/.vim/templates/ruby&lt;/strong&gt; : cette commande ruby insère
le contenu du fichier après la 0ème ligne, c'est-à-dire avant la 1ère
ligne.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voilà, c'est tout pour ce billet. Mais il y aura une suite avec comment
avoir des templates un peu plus dynamiques. On verra par exemple comment
insérer la date dans les templates.&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>