Vi - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Débuter avec vi

Les 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 avec vi est généralement considérée comme plus longue à venir qu'avec les autres éditeurs avec lequel il est souvent comparé. Seuls 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 et interface jugées obscures

Les 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. D'autant que l'éditeur présente différentes perspectives (lecture, insertion, open mode, etc) qui ne sont pas clairement distinguées et la transition entre ces modes passe souvent inaperçue.

La plupart des commandes de vi sont choisies de façon à :

  • limiter la frappe nécessaire. Les modificateurs tels que Ctrl, Maj ou Alt sont utilisés avec la plus grande parcimonie ;
  • limiter les mouvements des doigts et des mains sur le clavier. Par exemple, en mode commande, les touches h, j, k et l permettent de déplacer le curseur. Comme il s'agit d'une des fonctions les plus importantes, les touches qui lui sont affectées sont celles que l'utilisateur a immédiatement sous les doigts ;
  • faciliter les moyens mnémotechniques pour retenir leur(s) effet(s). Il faut toutefois garder à l'esprit que vi a été écrit par des programmeurs anglophones. Par exemple, en mode commande, d permet d'effacer (delete), i passe en mode insertion, w avance le curseur d'un mot (word). En combinant une commande d'édition (par exemple effacer : d) et une commande de mouvement (par exemple avancer d'un mot : w), on obtient la séquence dw, qui permet d'effacer un mot. D'une manière similaire, la commande d3w efface trois mots.

Comportement modal

Lorsque 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 des macro-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.

Clones et dérivés

De nombreux éditeurs de texte basés sur vi existent. Les clones sont des mises en œuvre, 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.

  • vi est un portage vers les systèmes Unix modernes du vi classique de la BSD 3.7. Cette implémentation, qui s'appuie sur le code de ed, est libre au sens BSD depuis janvier 2002.
  • nvi est une implémentation de l'éditeur de texte ex/vi distribuée dans la Fourth Berkeley Software Distribution (4BSD). Il s'agit de la version de vi qui est fournie avec toutes les distributions BSD open source. Elle possède de nombreuses améliorations par rapport au vi classique, notamment l'historique et l'édition des commandes, le complètement des noms de fichiers, l'édition de plusieurs tampons, le multi-fenêtrage (y compris l'édition d'un même tampon dans plusieurs fenêtres), etc. À part ces améliorations, son interface utilisateur est à peu de choses près identique à celle du vi classique. Cette implémentation est très compacte, rapide, et se fond très naturellement dans l'environnement Unix.
  • Elvis est un clone libre de vi pour Unix et d'autres systèmes d'exploitation. Il possède des fonctionnalités supplémentaires, telles que la coloration syntaxique, ou une interface graphique pour différents systèmes.
  • Vim, pour « Vi IMproved », est un clone de vi, moderne et extensible. Il est généralement fourni comme implémentation de vi dans les distributions Linux.
  • svicc est un petit clone de Vi pour Commodore (64)
  • bvi « Binary VI » est un éditeur pour les fichiers binaires, basé sur l'éditeur de texte vi.
  • VILE, pour « VI Loves Emacs », est un éditeur de texte qui tente de réconcilier les utilisateurs de vi et de emacs en gardant ce qu'il estime être le meilleur des deux programmes.

Une liste plus complète peut être trouvée sur dans les .

Page générée en 0.097 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise