abréviations
Transcription
abréviations
Ceci est un extrait électronique d'une publication de Diamond Editions : http://www.ed-diamond.com Ce fichier ne peut être distribué que sur le CDROM offert accompagnant le numéro 100 de GNU/Linux Magazine France. La reproduction totale ou partielle des articles publiés dans Linux Magazine France et présents sur ce CDROM est interdite sans accord écrit de la société Diamond Editions. Retrouvez sur le site tous les anciens numéros en vente par correspondance ainsi que les tarifs d'abonnement. Pour vous tenir au courant de l'actualité du magazine, visitez : http://www.gnulinuxmag.com Ainsi que : http://www.linux-pratique.com et http://www.miscmag.com Outils Par :: Dimitri Robert :: Abrégez vos efforts avec les abréviations de Vim Vi, et surtout son évolution Vim, est souvent présenté comme l’éditeur de texte ultime, titre que beaucoup donnent également à Emacs. Ces deux éditeurs ont, en effet, bon nombre de fonctionnalités destinées à faciliter leur utilisation, même s’ils paraissent un peu plus obscurs au premier abord qu’un éditeur plus classique tel que Scite ou NEdit. Parmi ces fonctions fabuleuses arrêtons-nous aujourd’hui sur les abréviations dans Vim. 60 « L’informaticien est fainéant par définition », dit-on. Mais, si l’on y regarde de plus près, cette relative « flemme » cache en réalité une volonté d’automatisation en vue de se faciliter la vie. Lorsque l’on prend des notes pendant un cours par exemple, on écrit souvent les mots courants sous forme d’abréviations : « cad » ou « ie » pour « c’est-à-dire », « pdt » pour « pendant », etc. Et pourquoi ne pas faire pareil dans Vim ? Déclarez une nouvelle abréviation Ouvrez Vim avec éventuellement un fichier texte en édition. Nous allons créer une abréviation pour écrire « c’est-à-dire » plus rapidement. Vous êtes en mode Commande, c’est parfait ; sinon commencez par appuyer sur [Échap]. Puis, entrez la commande suivante (n’oubliez pas le deux-points initial) et validez : :ab cad c’est-à-dire À présent, passez en mode Insertion (commande i). Tapez « cad » comme si vous saisissiez du texte normal. Puis finissez par un caractère non alphanumérique (espace, ponctuation, etc.). Votre « cad » est aussitôt transformé en « c’est-à-dire » ! Vous pouvez déclarer ainsi toutes les abréviations que vous souhaitez. Cependant, si vous les déclarez depuis Vim, elles ne subsisteront pas après la fermeture de l’éditeur. Pour les abréviations que vous souhaitez utiliser couramment, il faudra les déclarer dans votre fichier .vimrc. Conditions d’usage Où s’appliquent les abréviations ? Les abréviations ne sont utilisables qu’en mode Édition (Insertion ou Remplacement) et lorsque Vim est invoqué en ligne de commande. Deux cas de figure qui sont différentiables. En effet, il est possible de déclarer des abréviations pour l’un, l’autre ou les deux modes. Précédemment, nous avions déclaré l’abréviation « cad » avec la commande : ab qui, en passant, est l’abréviation de : abbreviate. Notez donc que les deux syntaxes sont possibles, de même que :abb, :abbrev, etc. La complétion existe également pour les commandes de Vim : tapez simplement :ab suivi de la touche [Tab]. Le nom complet s’affiche. Donc, cette commande :abbreviate déclare une abréviation utilisable en mode Édition, ainsi qu’en ligne de commande. Si vous souhaitez limiter votre abréviation au mode Édition, invoquez la commande :iabbreviate (abrégée en :iab, le « i » étant pour « Insertion », représentant le mode Édition). Pour la ligne de commande seule, faites précéder abbreviate d’un « c » comme ceci : :cabbreviate (ou :cab) Maîtrisez le déclenchement Vous l’aurez peut-être remarqué, mais après avoir défini une abréviation pour « cad », il devient plus difficile d’écrire vraiment « cad » sans que cela ne soit transformé. Heureusement, c’est possible (sinon, j’aurais dû supprimer mes abréviations courantes pour écrire cet article). J’avais mentionné précédemment que c’est le caractère non alpha-numérique qui provoque la métamorphose de l’abréviation. En effet, si vous voulez écrire « cadeau », il serait dommage que cela soit changé en « c’est-à-direeau ». Donc, une abréviation comme partie d’un mot n’est pas transformée. Pour éviter la transformation d’une abréviation, vous pouvez employer plusieurs méthodes : passer en mode Commande (touche [Échap]) puis revenir en mode Insertion, utiliser une flèche Abrégez vos efforts avec Vim de direction ou encore faire précéder le caractère déclencheur d’un [Ctrl] + [V]. Correction automatique Outre les mots utilisés couramment et un peu long à taper, le mécanisme des abréviations peut être utilisé pour corriger certaines fautes courantes d’orthographe ou de frappe. Personnellement, j’écris souvent « ficheir » à la place de « fichier ». Les lignes suivantes dans mon .vimrc permettent de résoudre le problème : iab iab iab iab fichier fichier fichiers fichiers Fichier Fichier Fichiers Fichiers Des abréviations de ce genre seraient très utiles dans un document rédigé au format HTML, probablement beaucoup moins pertinentes dans d’autres formats. Aussi, il conviendrait mieux de les restreindre aux seuls documents HTML. Votre répertoire .vim contient (s’il n’y est pas, créez-le) un sous-répertoire ftplugin (pour file type plugin). Il doit contenir des directives propres aux types de fichiers que vous manipulez. Ainsi, dans le répertoire ~/.vim/ftplugin/ html tous les fichiers présents ne seront lus que lorsque vous éditerez du HTML. Vous pouvez donc y inclure un fichier abbrev.vim dédié aux abréviations orientées HTML. Revenons un instant sur l’abréviation citée précédemment. Voici sa déclaration : ab H1 <h1></h1><Esc>4<Left>i Lorsqu’elle est développée, l’abréviation est transformée en la paire de balises <h1> puis l’on passe en mode Commande (<Esc>) et l’on déplace le curseur quatre fois vers la gauche (4<Left>) pour enfin revenir en mode Insertion (i). Nous voyons ici qu’il est possible d’utiliser, dans les abréviations, des commandes à effet immédiat (non précédée d’un deuxpoints). Résumé des commandes Cependant, si comme moi vous manipulez aisément les claques de Gimp, vous serez bien dépourvus pour trouver une parade à cette mauvaise habitude. Abréviation Description Une seule solution : vous mettre une calque à chaque fois que vous ferez la faute... :abbreviate ; liste les abréviations déclarées (par défaut, il n’y en a aucune) :abbreviate motif ; liste les abréviations commençant par motif :abbreviate motif formule ; définit l’abréviation motif pour la formule :iabbreviate ; identique à :abbreviate mais limité au mode Insertion :cabbreviate ; identique à :abbreviate mais limité à la ligne de commande :unabbreviate motif ; supprime l’abréviation motif de la liste (préfixez par c ou i pour préciser le mode) :noreabbreviate motif formule ; définit l’abréviation motif pour formule mais interdit que motif soit réutilisé pour une autre abréviation ou commande (préfixe c ou i possible) :abclear ; supprime toutes les abréviations (préfixez avec c ou i pour supprimer seulement une catégorie ou l’autre) Afin de ne pas surcharger votre .vimrc vous aurez intérêt à isoler vos abréviations dans un fichier à part, stocké dans le répertoire .vim de votre répertoire personnel. Cependant, il faudra faire le lien depuis le fichier .vimrc comme ceci (supposons que le fichier contenant les abréviations se nomme abbrev.vim) : „abréviations source $HOME/.vim/abbrev.vim Toute ligne commençant par un guillemet anglais est mise en commentaire et non prise en considération par Vim. La commande source permet de lire un fichier comme si son contenu était inscrit à l’endroit même. Références Site officiel : http://www.vim.org/ Abréviations suivant le format de fichier On pourrait aussi imaginer des abréviations du style « H1 » qui seraient résolues en « <h1></h1> » en positionnant le curseur à l’endroit qui va bien (entre les deux balises). Dans Vim tapez (pas tout, utilisez la touche [Tab] pour compléter) :help :abbreviate pour accéder à l’aide en ligne et plus particulièrement au fichier map.txt. Projet de traduction de l’aide de Vim en français géré par David Odin : http://vim.dindinx.net Apprendre l’éditeur Vim de Loïc Bernable : Linux Pratique 18 et 19, ainsi que sur le web, http://www.vilya.org/vim/ 61