<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Yriase &#187; vim</title>
	<atom:link href="http://www.yriase.fr/tag/vim/feed" rel="self" type="application/rss+xml" />
	<link>http://www.yriase.fr</link>
	<description>Actu, Développement, Tutoriaux, Geek ...</description>
	<lastBuildDate>Sun, 05 Feb 2012 15:33:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Configuration et Utilisation de Vim 5/5</title>
		<link>http://www.yriase.fr/432-configuration-et-utilisation-de-vim-55.html</link>
		<comments>http://www.yriase.fr/432-configuration-et-utilisation-de-vim-55.html#comments</comments>
		<pubDate>Mon, 07 Dec 2009 15:22:02 +0000</pubDate>
		<dc:creator>
<img alt="" src="http://0.gravatar.com/avatar/8d419a54322fb4b031f344a82a2f58ea?s=12&amp;d=identicon&amp;r=G" class="avatar avatar-12 photo" height="12" width="12" style=" border: 1px solid; border-color: #000000;"/>
seiyar81</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.yriase.fr/?p=432</guid>
		<description><![CDATA[Déjà la fin de ce tutoriel snif :&#8217;( Peut être pas aussi complet que d&#8217;autres, j&#8217;ai surtout voulu parler de ce qui me semblait essentiel pour un développeur travaillant avec Vim. On va commencer cette dernière partie par l&#8217;auto-complétion, comment l&#8217;activer, comment ajouter des mots-clés etc&#8230; Pour l&#8217;activer c&#8217;est très simple, comme partout ailleurs vous [...]]]></description>
			<content:encoded><![CDATA[<div class="post-pic"><img src="http://www.yriase.fr/wp-content/uploads/2009/10/news-vim.png" alt="news-vim" title="news-vim" width="670" height="100" class="aligncenter size-full wp-image-82" /></div>
<p>Déjà la fin de ce tutoriel snif :&#8217;( Peut être pas aussi complet que d&#8217;autres, j&#8217;ai surtout voulu parler de ce qui me semblait essentiel pour un développeur travaillant avec Vim.</p>
<p>On va commencer cette dernière partie par l&#8217;auto-complétion, comment l&#8217;activer, comment ajouter des mots-clés etc&#8230;<br />
Pour l&#8217;activer c&#8217;est très simple, comme partout ailleurs vous devez avoir commencé un mot et ensuite taper <em>Ctrl+n</em> pour accéder à la liste de mots-clés correspondants. Vim vous indiquera alors soit &#8216;<em>Motif introuvable</em>&#8216; soit vous proposera de &#8216;parcourir&#8217; les correspondances à l&#8217;aide des combinaisons de touches <em>Ctrl+n</em> pour avancer et <em>Ctrl+p</em> pour revenir en arrière.</p>
<p>A savoir que par défaut Vim recherche dans le document courant les occurences. </p>
<p>Il est possible de lui rajouter des listes de mots-clés pour la coloration syntaxique. On utilise pour cela une commande simple : </p>
<pre class="brush: plain">
:syntax keyword {group} {keyword} ...
// ou :syn keyword {group} {keyword} ...
</pre>
<p>{group} correspond à un nom de groupe de syntaxe. Par exemple si vous ouvrez le fichier <em>&#8216;~/.vim/syntax/php.vim&#8217;</em> vous pourrez y voir des groupes de syntaxe comme <em>phpFunctions</em>, <em>phpMethods</em>, <em>phpStatement</em> ou encore <em>phpType</em>.<br />
Qu&#8217;à cela ne tienne on va rajouter nos fonctions persos :</p>
<pre class="brush: plain">
:syn keyword phpFunctions ma_fonction_qui_roxx ma_fonction_qui_suxx
</pre>
<p>Mais il est plus intéressant d&#8217;ajouter tous nos mots-clés, nos fonctions etc dans un seul fichier et de l&#8217;inclure :</p>
<pre class="brush: plain">
:runtime! syntax/fichier.vim
</pre>
<p><em>:runtime!</em> effectue une recherche dans le <em>&#8216;runtimepath&#8217;</em> ($HOME/.vim ou $VIM/vimfiles) du fichier syntax/fichier.vim. Il est donc préférable que vous placiez votre fichier dans ce dossier.</p>
<p>Maintenant une astuce que je trouve tout bonnement indispensable, binder la commande php5 afin de vérifier la syntaxe du document et éventuellement l&#8217;exécuter.</p>
<p>Rajoutez ceci à votre fichier de configuration de Vim :<br />
<code><br />
// Ctrl+M pour exécuter le fichier<br />
autocmd FileType php noremap <C-M> :w!<CR>:!/usr/bin/php5 %<CR></p>
<p>// Ctrl+L pour vérifier la syntaxe<br />
autocmd FileType php noremap <C-L> :!/usr/bin/php5 -l %<CR><br />
</code></p>
<p>Extrêmement pratique et fait gagner beaucoup de temps !</p>
<p>Pour finir je link un article sur l&#8217;utilisation de <strong>ctags</strong> avec Vim. L&#8217;auteur y explique comment ajouter une librairie, ici le Zend Framework : <a href="http://weierophinney.net/matthew/archives/134-exuberant-ctags-with-PHP-in-Vim.html">Article (en anglais)</a></p>
<p>J&#8217;espère que ce tutoriel a été utile, bientôt la présentation de quelques plugins très utiles pour Vim !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yriase.fr/432-configuration-et-utilisation-de-vim-55.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration et Utilisation de Vim 4/5</title>
		<link>http://www.yriase.fr/347-configuration-et-utilisation-de-vim-45.html</link>
		<comments>http://www.yriase.fr/347-configuration-et-utilisation-de-vim-45.html#comments</comments>
		<pubDate>Tue, 17 Nov 2009 11:40:24 +0000</pubDate>
		<dc:creator>
<img alt="" src="http://0.gravatar.com/avatar/8d419a54322fb4b031f344a82a2f58ea?s=12&amp;d=identicon&amp;r=G" class="avatar avatar-12 photo" height="12" width="12" style=" border: 1px solid; border-color: #000000;"/>
seiyar81</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.yriase.fr/?p=347</guid>
		<description><![CDATA[Avant-dernière partie du tutoriel consacré à l&#8217;éditeur Vim. Aujourd&#8217;hui c&#8217;est à l&#8217;encodage que nous nous intéresserons. Source de bien des soucis, lequel choisir, et comment, entre l&#8217;UTF-8 et les différentes normes ISO ? Tout d&#8217;abord il faut régler 2 paramètres impotants : fileencoding : encodage des caractères à l&#8217;enregistrement du fichier fileencodings : liste des [...]]]></description>
			<content:encoded><![CDATA[<div class="post-pic"><img src="http://www.yriase.fr/wp-content/uploads/2009/10/news-vim.png" alt="news-vim" title="news-vim" width="670" height="100" class="aligncenter size-full wp-image-82" /></div>
<p>Avant-dernière partie du tutoriel consacré à l&#8217;éditeur Vim. Aujourd&#8217;hui c&#8217;est à l&#8217;encodage que nous nous intéresserons. Source de bien des soucis, lequel choisir, et comment, entre l&#8217;<strong>UTF-8</strong> et les différentes normes <strong>ISO</strong> ?</p>
<p>Tout d&#8217;abord il faut régler 2 paramètres impotants : </p>
<ul>
<li><em>fileencoding</em> : encodage des caractères à l&#8217;enregistrement du fichier</li>
<li><em>fileencoding<strong>s</strong></em> : liste des encodages à tester pour initialiser <em>fileencoding</em></li>
</ul>
<p>L&#8217;idéal est de fixer le second paramètre dans votre fichier de configuration (<em>&#8216;/etc/vim/vimrc&#8217;</em> ou bien <em>&#8216;/home/username/.vimrc&#8217;</em> comme vu dans la <strong><a href="http://www.yriase.fr/102-configuration-et-utilisation-de-vim-25.html">seconde partie</a></strong>) :</p>
<pre class="brush: plain">
set fileencodings=ucs-bom,utf-8,latin1
</pre>
<p>Ainsi le fichier commence par une marque d&#8217;encodage <a href="http://fr.wikipedia.org/wiki/Marque_d%27ordre_des_octets">BOM</a>, ensuite si un caractère non valide UTF-8 est trouvé dans le document, Vim passe alors en <em>latin1 (ISO8859-1)</em>.</p>
<p>Un petit exemple de configuration pour l&#8217;encodage : </p>
<pre class="brush: plain">
if has("multi_byte")
set encoding=utf-8
setglobal fileencoding=utf-8
set bomb
set termencoding=iso-8859-15
set fileencodings=utf-8,ucs-bom,iso-8859-15,iso-8859-3
else
echoerr "Sorry, this version of (g)vim was not compiled with +multi_byte"
endif
</pre>
<p>Notez que set bomb force le BOM (nobomb pour l&#8217;enlever).<br />
Ainsi à moins qu&#8217;un caractère défectueux ne soit trouvé, l&#8217;encodage est fixé en UTF-8.</p>
<p>Il est également possible de forcer l&#8217;encodage à l&#8217;ouverture du fichier : </p>
<pre class="brush: plain">
:e ++enc=utf-8 file // Force l'encodage en UTF-8 même en cas de mauvais caractère

vim -c ':e ++enc=utf-8 file' // Pareil mais de la ligne de commande
</pre>
<p>Libre à vous ensuite de régler vos paramètres à l&#8217;encodage qui vous convient le mieux !</p>
<p>Prochain et dernier chapitre : l&#8217;utilisation de Vim pour développer. Auto-complétion, coloration du code et différents réglages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yriase.fr/347-configuration-et-utilisation-de-vim-45.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration et Utilisation de Vim 3/5</title>
		<link>http://www.yriase.fr/330-configuration-et-utilisation-de-vim-35.html</link>
		<comments>http://www.yriase.fr/330-configuration-et-utilisation-de-vim-35.html#comments</comments>
		<pubDate>Sun, 15 Nov 2009 17:42:15 +0000</pubDate>
		<dc:creator>
<img alt="" src="http://0.gravatar.com/avatar/8d419a54322fb4b031f344a82a2f58ea?s=12&amp;d=identicon&amp;r=G" class="avatar avatar-12 photo" height="12" width="12" style=" border: 1px solid; border-color: #000000;"/>
seiyar81</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.yriase.fr/?p=330</guid>
		<description><![CDATA[Aujourd&#8217;hui nous nous attaquons à la partie sur la recherche avec Vim. Il est en effet possible d&#8217;effectuer une recherche dans le document en cours d&#8217;édition vers le bas du document, vers le haut, de remplacer du texte sur une ou plusieurs lignes etc&#8230; Tout d&#8217;abord comment effectuer une recherche de texte : /yriase // [...]]]></description>
			<content:encoded><![CDATA[<div class="post-pic"><img src="http://www.yriase.fr/wp-content/uploads/2009/10/news-vim.png" alt="news-vim" title="news-vim" class="aligncenter size-full wp-image-82" /></div>
<p>Aujourd&#8217;hui nous nous attaquons à la partie sur la recherche avec <strong>Vim</strong>. Il est en effet possible d&#8217;effectuer une recherche dans le document en cours d&#8217;édition vers le bas du document, vers le haut, de remplacer du texte sur une ou plusieurs lignes etc&#8230;</p>
<p>Tout d&#8217;abord comment effectuer une recherche de texte :</p>
<pre class="brush: plain">
/yriase   // Recherche toutes les occurrences d'yriase dans le document vers le bas
?yriase  // Pareil mais vers le haut du document
// Appuyez ensuite sur la touche <em>n</em> pour aller d'une occurrence à l'autre.

%  // Vous permet de trouver les correspondances des caractères suivants : ), ] ou }
    // Très utile quand on programme
</pre>
<p>Il est également possible d&#8217;effectuer un <em>&laquo;&nbsp;rechercher/remplacer&nbsp;&raquo;</em> : </p>
<pre class="brush: plain">
:s/ancien/nouveau             // Remplace la première occurrence d'ancien par nouveau dans la ligne
:s/ancien/nouveau/g          // Pareil mais sur toute la ligne
:%s/ancien/nouveau/g       // Pareil mais dans tout le fichier
:10,15s/ancien/nouveau/g  // Pareil mais entre les lignes 10 et 15
:%s/ancien/nouveau/gc     // Demande confirmation pour le remplacement
</pre>
<p>Enfin quelques petits réglages pour la casse :</p>
<pre class="brush: plain">
:set hl              // Active la mise en surbrillance des résultats
:set ic              // Active la recherche incrémentielle

:set ic              // Ignore la casse
:set noic           // N'ignore pas la casse
</pre>
<p>Voilà la prochaine fois ce sera la partie sur <strong>l&#8217;encodage</strong> !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yriase.fr/330-configuration-et-utilisation-de-vim-35.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration et Utilisation de Vim 2/5</title>
		<link>http://www.yriase.fr/102-configuration-et-utilisation-de-vim-25.html</link>
		<comments>http://www.yriase.fr/102-configuration-et-utilisation-de-vim-25.html#comments</comments>
		<pubDate>Mon, 02 Nov 2009 13:37:42 +0000</pubDate>
		<dc:creator>
<img alt="" src="http://0.gravatar.com/avatar/8d419a54322fb4b031f344a82a2f58ea?s=12&amp;d=identicon&amp;r=G" class="avatar avatar-12 photo" height="12" width="12" style=" border: 1px solid; border-color: #000000;"/>
seiyar81</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[editeur]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.yriase.fr/?p=102</guid>
		<description><![CDATA[Déjà la deuxième partie, qu&#8217;est-ce qu&#8217;il est fort celui-là ! Parlons peu, parlons bien, pour programmer correctement avec Vim il y a plusieurs options indispensables qui sont communes à n&#8217;importe quel éditeur de texte/code : La coloration syntaxique L&#8217;auto-complétion La numérotation des lignes etc &#8230; Plusieurs options s&#8217;offrent à vous pour modifier la configuration de [...]]]></description>
			<content:encoded><![CDATA[<div class="post-pic"><img class="aligncenter size-full wp-image-82" title="Vim" src="http://www.yriase.fr/wp-content/uploads/2009/10/news-vim.png" alt="Vim" /></div>
<p>Déjà la deuxième partie, qu&#8217;est-ce qu&#8217;il est fort celui-là !</p>
<p>Parlons peu, parlons bien, pour programmer correctement avec Vim il y a plusieurs options indispensables qui sont communes à n&#8217;importe quel éditeur de texte/code :</p>
<ul>
<li>La coloration syntaxique</li>
<li>L&#8217;auto-complétion</li>
<li>La numérotation des lignes</li>
<li>etc &#8230;</li>
</ul>
<p>Plusieurs options s&#8217;offrent à vous pour modifier la configuration de Vim :  soit vous configurez Vim via le fichier de configuration global <em>&#8216;/etc/vim/vimrc&#8217;</em>, soit via le fichier de votre profil : <em>&#8216;/home/username/.vimrc&#8217;</em> (que vous aurez peut-être à créer).</p>
<p>Personnellement étant le seul à avoir accès à ma machine, j&#8217;utilise le fichier de configuration global.</p>
<p>Une série de directives y est déjà présente par défaut, dont la plupart sont commentées.<br />
Voici une liste de directives plutôt pratiques :</p>
<pre class="brush: bash">
set showmatch "Affiche les parenthèses correspondantes
set nu "Affiche les numéros de lignes
set mouse=m"Active la souris pour le mode m, mettre a pour tous les modes
set syntax=on "Active la coloration syntaxique

set autoindent "Auto-indentation
set tabstop=n "Définit le nombre d'espaces dans une tabulation

set history=n "Définit le nombre de commandes enregistrées dans l'historique
set incsearch     "Recherche par incrémentation
set hlsearch      "Met en surbrillance les phrases recherchées

set cursorline "Met en surbrillance la ligne où se trouve le curseur
highlight CursorLine guibg=#001000 "Définit la couleur de la surbrillance*

set backup "Active le backup de vos fichiers en cas de plantage
set backupdir=/home/user/vimbackup "Le dossier où seront placés vos backup
</pre>
<p>Voilà dont une petite liste de directives essentielles pour être bien à l&#8217;aise avec l&#8217;édition de texte avec Vim.<br />
La prochaine partie portera sur la recherche !</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yriase.fr/102-configuration-et-utilisation-de-vim-25.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuration et Utilisation de Vim 1/5</title>
		<link>http://www.yriase.fr/63-configuration-et-utilisation-de-vim-15.html</link>
		<comments>http://www.yriase.fr/63-configuration-et-utilisation-de-vim-15.html#comments</comments>
		<pubDate>Thu, 29 Oct 2009 09:55:44 +0000</pubDate>
		<dc:creator>
<img alt="" src="http://0.gravatar.com/avatar/8d419a54322fb4b031f344a82a2f58ea?s=12&amp;d=identicon&amp;r=G" class="avatar avatar-12 photo" height="12" width="12" style=" border: 1px solid; border-color: #000000;"/>
seiyar81</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[editeur]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.yriase.fr/?p=63</guid>
		<description><![CDATA[&#8216;Dans la vie pour bien coder, c&#8217;est pas l&#8217;éditeur qui compte c&#8217;est comment qu&#8217;il est configuré !&#8216; Cette citation de Lao Tseu moi n&#8217;est pas si bête que ça. Car oui travailler avec des outils mal calibrés, mal adaptés aux besoins des développeurs (qui plus est qui varient d&#8217;une personne à l&#8217;autre) ralenti plus qu&#8217;autre [...]]]></description>
			<content:encoded><![CDATA[<div class="post-pic"><img class="aligncenter size-full wp-image-82" title="Vim" src="wp-content/uploads/2009/10/news-vim.png" alt="Vim"/></div>
<p>&#8216;<em>Dans la vie pour bien coder, c&#8217;est pas l&#8217;éditeur qui compte c&#8217;est comment qu&#8217;il est configuré !</em>&#8216; Cette citation de <a title="Wikipédia" href="http://fr.wikipedia.org/wiki/Lao_Tseu"><span style="text-decoration: line-through;">Lao Tseu</span></a> moi n&#8217;est pas si bête que ça.<br />
Car oui travailler avec des outils mal calibrés, mal adaptés aux besoins des développeurs (qui plus est qui varient d&#8217;une personne à l&#8217;autre) ralenti plus qu&#8217;autre chose, et un développeur ralenti produit moins, donc est moins rentable et donc finit au chômage ! Bon d&#8217;accord peut-être pas jusque là mais il n&#8217;empêche qu&#8217;il est plus agréable d&#8217;avoir un environnement de développement adapté pour de bonnes conditions de travail.</p>
<p>Lorsqu&#8217;on se retrouve à devoir installer et gérer un serveur dédié, on peut très bien éditer les fichiers via un IDE gérant l&#8217;édition à distance via FTP, ou l&#8217;édition en local, ou bien autre solution : l&#8217;édition directement sur le serveur via SSH.</p>
<p>Une fois connecté à son serveur, il suffit alors de choisir le fichier à éditer et l&#8217;éditeur. Etant plus habitué et connaissant mieux le fonctionnement de <a title="Wikipédia" href="http://fr.wikipedia.org/wiki/Vim_(logiciel)"><strong>Vim </strong></a>(version améliorée de Vi) c&#8217;est ce dernier que je vais vous présenter.</p>
<p>Le tutoriel sera découpé en 5 parties :</p>
<ul>
<li>Commandes</li>
<li>Configuration générale</li>
<li>Recherche</li>
<li>Encodage</li>
<li>Syntaxe</li>
</ul>
<p>On rentre tout de suite dans le vif du sujet avec l&#8217;explication des commandes de base de Vim :</p>
<pre class="brush: text">moi@monpc:/home#vim monfichier // Edition normale du fichier
moi@monpc:/home#vim -v monfichier // Edition du fichier en mode Vi
moi@monpc:/home#vim -y monfichier // Edition du fichier sans modes
moi@monpc:/home#vim -R monfichier // Edition du fichier en lecture seule

moi@monpc:/home#vim -n monfichier // Edition sans utiliser de fichier swap
moi@monpc:/home#vim -r fichier // Récupérer une session plantée

moi@monpc:/home#vim + monfichier // Ouvre le fichier à la fin
moi@monpc:/home#vim +[num] monfichier // Ouvre le fichier à la ligne [num]

moi@monpc:/home#vim -p[N] monfichier // Ouvre N onglets
moi@monpc:/home#vim -o[N] monfichier // Ouvre N fenêtres
moi@monpc:/home#vim -O[N] monfichier // Ouvre N fenêtres verticalement
</pre>
<p>Une fois l&#8217;éditeur lancé, vous pouvez switcher entre les différents modes<br />
et utiliser les commandes suivantes  :</p>
<pre class="brush: text">
i // Mode insertion
Echap // Replace en mode Normal
x // Supprime les caractères sous le curseur

w // Sauvegarde
w nom // Sauvegarde dans le fichier 'nom'
~,~w // Sauvegarde les lignes ~ à ~
q // Quitter Vim, q! pour annuler les changements non sauvegardés
u // Annule le dernier changement
U // Annule le changement de la ligne
Ctrl+R // Annule les annulations

o // Ajoute une ligne sous le curseur et lance l'insertion
Maj+o // Ajoute une ligne au niveau du curseur

!dir ou !ls // Liste le dossier courant
!cmd // Exécute la commande cmd
</pre>
<p>Vous voilà d&#8217;ores et déjà en possession du minimum requis pour ouvrir un fichier, le modifier et l&#8217;enregistrer.<br />
Dans la prochaine partie j&#8217;exposerai les différentes options de configuration utiles pour développer.</p>
<p>A très bientôt :p</p>
]]></content:encoded>
			<wfw:commentRss>http://www.yriase.fr/63-configuration-et-utilisation-de-vim-15.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

