|
Article on other languages:
|
vi est un éditeur de texte en mode texte plein écran écrit par Bill Joy en 1976 sur une des premières versions de la distribution Unix BSD. Il est présent d'office sur la majorité des systèmes Unix actuels, souvent sous la forme d'un clone du logiciel vi originel.
Origine du nomLe nom vi provient de l'abréviation la plus courte possible (c'est-à-dire sans ambiguïté) de la commande visual de l'éditeur de texte ex. Cette commande passe ex du mode ligne par ligne en mode plein écran. Ainsi, vi était au départ conçu comme une interface visuelle (en anglais, Visual Interface) rajoutée à l'éditeur ex (lui-même basé sur ed). ex est toujours disponible dans vi en appuyant sur : en mode commande. En pratique, un unique programme est démarré lors de l'invocation de vi ou ex, son comportement change selon le nom avec lequel il est appelé. Le nom vi correspondant et à des initiales et au nom de son install, il est usuellement prononcé en énonçant les deux lettres en anglais, c'est-à-dire « vi-aille », [vi: aɪ], plutôt que comme un mot à part entière [vi]. L'analogie de ce nom avec le chiffre romain VI (six) est fortuite. Principe de fonctionnementvi est un éditeur modal, c'est-à-dire que la signification des boutons et des touches changent selon le mode dans lequel il se trouve. En mode insertion, le texte tapé est inséré dans le document. Appuyer sur la touche Echap depuis le mode insertion permet de passer dans le mode commande, dans lequel les touches correspondent à des déplacement du curseur ou à des fonctions d'édition. Par exemple, j descend le curseur d'une ligne, x efface le caractère sous le curseur (la position « sous le curseur » peut désigner la droite du curseur si ce dernier se place entre les caractères, au dessus du caractère de soulignement ou sous le bloc rectangulaire, selon la manière dont le terminal représente le curseur). Les touches tapées en mode commande ne sont pas insérées dans le texte, ce qui est une cause fréquente de confusion pour les utilisateurs débutants avec vi. En mode commande, de nombreuses opérations peuvent être effectuées en série avec des séquences de touches simples, sans qu'il soit nécessaire de maintenir les touches Alt ou Ctrl enfoncées. Les opérations les plus élaborées sont composées d'opérations plus primaires. Par exemple, d3w efface trois mots (d pour delete (effacer) et w pour word (mot), c2fa change (change) le texte jusqu'à ce qu'il trouve (find) le second (2) a. Pour les utilisateurs expérimentés, cela permet de travailler très efficacement. Cela permet également à l'utilisateur de conserver en permanence ses mains sur le clavier. Les premières versions de vi ne donnaient aucune indication sur le mode dans lequel elles se trouvaient. Il était fréquent que les utilisateurs tapent machinalement sur la touche Echap pour s'assurer que l'éditeur était bien dans le mode commande (vi émet un signal sonore s'il est déjà dans ce mode). Les versions plus modernes de vi indiquent le mode dans une barre d'état ou graphiquement (par exemple la forme ou la couleur du curseur). Des implémentations graphiques de vi (par exemple GVim) supportent aussi l'utilisation de la souris et des menus pour accéder aux fonctions d'édition. Évolutionvi est devenu de facto l'éditeur standard d'unix et il a été l'éditeur favori de nombreux hackers jusqu'à l'arrivée d'Emacs en 1984. À ce jour (2005), vi ou l'un de ses clones peut être trouvé dans presque toutes les installations de Unix. La Single UNIX Specification (plus particulièrement l'« IEEE standard 1003.2, Part 2: Shell and utilities ») inclut vi. Ainsi, tout système se conformant à cette spécification intègre vi. vi est encore largement utilisé par les utilisateurs des différentes variantes d'Unix. Il démarre plus vite que les versions lourdes de l'éditeur Emacs et utilise moins de mémoire. Conséquemment, mêmes des fans d'Emacs l'utilisent comme éditeur pour le courrier électronique ou pour de petites éditions. Lors de la création d'une disquette de récupération (rescue disk, pour les systèmes dont le disque dur ne fonctionne plus correctement), vi est bien souvent choisi comme éditeur, en raison de sa compacité (la place est très limitée sur les disquettes) et du fait que la majorité des gens effectuant des opérations de récupération sont capables de l'utiliser. vi et Emacs sont les éternels belligérants de la guerre des éditeurs. Clones et dérivésDe nombreux éditeurs de texte basés sur vi existent. Les clones sont des implémentations, libres ou non, de vi, c'est-à-dire qu'ils respectent théoriquement le jeu de commandes standard du vi de POSIX. Toutefois, la majorité de ces clones supportent également des fonctionnalités supplémentaires. Les dérivés sont des programmes, éditeurs de texte ou non, qui ont conservé le principe de fonctionnement de vi (en partie ou complètement) pour leur propre fonctionnement.
Une liste plus complète peut être trouvée sur la page suivante : [4] Débuter avec viLes utilisateurs débutant avec vi sont souvent confrontés à des difficultés, d'une part à cause des raccourcis utilisés pour chacune des commandes, ensuite parce que l'effet de ces raccourcis change selon le mode dans lequel se trouve vi. Un moyen efficace de débuter avec vi est de suivre d'un bout à l'autre un tutoriel expliquant les commandes les plus simples. La plupart des systèmes fournissant une implémentation de vi contiennent également un tutoriel pour vi. Il existe également des guides de survie pour les débutants. En comprenant son principe de fonctionnement avec quelques explications et des exemples simples, la majorité des utilisateurs peuvent parvenir à leurs fins avec vi. Toutefois, l'aisance (puis la virtuosité) avec vi est généralement considérée comme plus longue à venir qu'avec les autres éditeurs avec lequel il est souvent comparé. Les défenseurs de vi affirment que cette difficulté initiale est largement compensée par l'efficacité de l'éditeur une fois que l'on est à l'aise. Commandes jugées obscuresLes débutants sont souvent déroutés par les commandes de vi. Ces dernières sont bien souvent réduites à une seule et unique lettre, et bien difficiles à mémoriser au premier abord. La plupart des commandes de vi sont choisies de façon à :
Comportement modalLorsque l'on débute avec vi, il est primordial de comprendre que vi possède plusieurs modes de fonctionnement. Les deux principaux modes sont le mode commande (dans lequel vi démarre) et le mode insertion. La commande i du mode commande permet de passer en mode insertion, tandis que la touche Echap permet de passer du mode insertion au mode commande. vi possède également un autre mode de fonctionnement, qui offre la possibilité de définir de macros-commandes en intégrant un véritable langage de programmation pour automatiser des tâches d'édition de texte. Il est aussi possible d'appeler vi avec des arguments afin qu'il exécute automatiquement des commandes lors de l'ouverture d'un fichier. Par exemple, la ligne de commande : vi -c "1,%s/Deux/Trois/g|:wq" FICHIER lance vi, qui ouvre le fichier "FICHIER", puis remplace tous les "Deux" par des "Trois" dans le fichier, et enfin enregistre le fichier et quitte. Fonctionnalités de viMacros et abréviationsvi permet de définir des macros-commandes et des abréviations. Les macros permettent de remplacer une séquence de touches par une autres, ce qui permet de définir de nouvelles commandes. Par exemple, :map v 10d crée la commande v du mode commande, qui supprime des blocs de 10 lignes. Les abréviations permettent d'éviter de taper une séquence de lettres plutôt longue. Par exemple : :ab GNU gnu is not unix crée l'abréviation GNU, qui en mode insertion est remplacée par gnu is not unix dès que suffisamment de caractères sont tapés pour lever toute ambiguïté (les abréviations sont généralement étendus quand un espace est inséré pour indiquer la fin du mot). OptionsLe comportement de vi et de ses commandes peut être ajusté grâce à ce que vi appelle des « options ». La commande :set permet de les consulter et de les modifier. Certaines options sont booléennes, c'est-à-dire qu'elle peuvent prendre deux valeurs seulement : vrai ou faux, ou plus exactement activée et desactivée. Par exemple : :set number que l'on peut abréger par :set nu affiche le numéro de chaque ligne. :set nonumber :set nonu sont équivalentes et permettent de désactiver cette option. Parmi les options booléennes, on peut trouver (liste non exhaustive) :
Les autres options prennent une valeur. Par exemple : :set tags=./tags indique à vi où chercher le fichier de marqueurs. L'ensemble de toutes les options disponibles peut être affiché avec :set all Fichier de configurationL'ensemble des options de vi (ainsi que les macros et les abréviations) peuvent être fixées pour chaque session d'édition en les ajoutant dans le fichier ~/.exrc. Ce fichier est lu automatiquement au démarrage de vi, et les commandes qu'il contient sont exécutées comme si elles étaient tapées par l'utilisateur (le : initial est inutile). Exemple : set nu map @ dd ab sig Mr. Robert Le NomBienLong Exemples de commandesExemples de commandes simplesLe tableau qui suit donne quelques commandes basiques de l'éditeur vi, nécessaires aux tâches d'édition les plus simples.
Exemples de commandes avancéesLes commandes suivantes montrent ce que permet vi quand un utilisateur cherche des commandes d'édition plus pointues.
Voir aussiArticles connexes
Bibliographie
Liens externes
|
This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.
Mercedes Car
This site monitored by SitePinger.net