====== 2 Présentation de vi. ======
[[vifaq.html#toc2| Contents of this section]]
Vi est un éditeur VIsuel, d'où son nom. Il permet de voir le document que l'on est en train d'éditer. De nos jours, la plupart des éditeurs sont visuels, et l'existence d'éditeur non-visuels laisse perplexe. On peut citer pourtant sed, ex, ed, ou edlin, qui faisait partie du DOS il y a encore peu de temps.
Vi a été écrit par William Joy pour être inclus dans la distribution BSD d'UNIX. Il a été réutilisé par la suite par AT&T, et il fait depuis partie des outils UNIX standard.
===== 2.1 Quels sont les points forts de vi ? Pourquoi l'utiliser ? =====
Vi est l'éditeur standard sous UNIX, et il fait partie de toutes les distributions depuis 1984. Il est sûrement présent sur toutes les machines UNIX que vous rencontrerez. Le connaître vous garantit donc de disposer d'un éditeur puissant en toute circonstance. Car vi est un éditeur puissant : une fois qu'on le maîtrise, on peut éditer de façon très rapide un fichier, car il ne nécessite de taper que quelques touches pour utiliser la plupart des fonctionnalités. Il est très rapide, et économe en ressources (la version qui tourne chez moi prend à peine 200 ko). Il peut tout faire, si on sait le lui faire faire.
De plus, c'est un éditeur qui est parfaitement interfacé avec le système UNIX : on peut utiliser de nombreux utilitaires UNIX sans quitter vi, comme kill, chmod (utile pour changer la permission du fichier que l'on édite pour pouvoir sauvegarder)...
vi fonctionne avec des briques de bases, des commandes (ajoute du texte, efface, recherche, permute...) et des objets (caractère, ligne, paragraphe...). En ne connaissant que quelques commandes et quelques objets, on peut les combiner pour arriver à des effets complexes : si vous savez, par exemple, que ** d ** est la commande pour détruire, et ** j ** la commande pour descendre d'une ligne, alors vous savez les combiner en ** dj ** pour détruire la ligne suivante. On peut utiliser des modificateurs numériques : ** d5j ** détruira les 5 lignes suivantes. Une fois que vous aurez appris que le signe correspondant au paragraphe est ** } **, vous saurez détruire les 5 paragraphes suivants.
===== 2.2 Ça a l'air intéressant. Y a-t-il des raisons de ne pas l'utiliser ? =====
Oui, il y a une très bonne raison : son apprentissage est long, difficile et douloureux. Une fois que vous connaîtrez les bases, ce sera plus rapide, mais en attendant, il faudra faire des efforts importants. On me demande souvent si vi est un éditeur ergonomique et intuitif. Je réponds souvent : ** Oui, certains le pensent. Mais la plupart des gens pensent qu'ils sont fous. **
===== 2.3 Sur quels systèmes d'exploitation fonctionne-t-il ? =====
UNIX. C'est tout. Mais il y a de nombreux clones qui tournent sur d'autres plateformes. J'ai utilisé des clones de vi sous UNIX, MS-DOS, OS/2, Mac System 7. Il y a plus bas une liste plus détaillée.
===== 2.4 Je suis convaincu. Je vais apprendre vi. Par où commencer ? =====
C'est une question difficile. Il y a plusieurs livres qui traitent de vi. La plupart des livres sur UNIX ont un chapitre consacré à vi. Le mieux est de demander aux gourous de vi de votre entourage où ils ont appris ce qu'ils savent. N'hésitez pas à expérimenter : lancez vi et éditer un document de test (non, n'apprenez pas vi avec votre thèse). Je ne peux pas imaginer qu'on puisse apprendre vi sans jouer avec. Si vous ne comprenez plus ce qui se passe, appuyez plusieurs fois sur la touche et vous vous retrouverez à nouveau en mode commande.
S'il est possible qu'on vous demande de faire de l'administration système, vous risquez d'être confronté à des machines UNIX qui n'ont pas d'autre éditeur que vi, voire qui n'ont que ed ou ex. Ces deux éditeurs ont une syntaxe assez proche de celle de vi, mais ils n'éditent qu'une ligne à la fois.
===== 2.5 Quelques mots sur les clones. =====
Comme par exemple : STvi (STevie), elvis, vile, vim, and nvi, xvi.
elvis est disponible pour Amiga, DOS, OS/2, Unix, VMS, Atari, Psion3a.
STevie tourne sur Atari ST, DOS, Unix, Mac System 7. La version Mac est disponible sur tous les sites miroirs d'info-mac, dans le répertoire "info-mac/text".
Lemmy fonctionne sur Windows 95 et Windows NT. On le trouve sur [[http://www.accessone.com/~jai| http://www.accessone.com/~jai ]] .
Nvi est la version de vi sur BSD 4.4
Vim est disponible sur Amiga, MS-DOS, Mac System 7, Win 95, and Unix. Les sources sont disponibles sur [[ftp://ftp.fu-berlin.de/misc/editors/vim| ftp://ftp.fu-berlin.de/misc/editors/vim ]] , avec les binaires des version MS-DOS et Amiga. Le binaire pour Mac est distribué au même endroit que STevie. Pour plus d'information sur vim, consultez son site officiel : [[http://www.vim.org| http://www.vim.org ]] .
Vile est disponible sous DOS, OS/2, Unix, VMS, Windows 95, Windows NT. Les sources sont disponibles sur [[ftp://ftp.clark.net:/pub/dickey/vile| ftp://ftp.clark.net:/pub/dickey/vile ]] . Il y a aussi une version pour X, xvile.
Xvi existe sous DOS et UNIX.
Viper tourne dans GNU Emacs. Voir [[ftp://ftp.cs.sunysb.edu/pub/TechReports/kifer/viper.tar.Z| ftp://ftp.cs.sunysb.edu/pub/TechReports/kifer/viper.tar.Z ]] .
Mortice Kern Systems (support@mks.com), avec lequel je n'ai aucun rapport, vends une version commerciale de vi pour DOS, Windows, OS/2 et Windows NT.
Il y a des différences entre ces différents clones. La plupart proposent des améliorations, mais ils permettent tous d'utiliser les commandes qui sont mentionnées dans ce document. Reportez-vous à la documentation de chacun des clones pour plus d'information.
[[vifaq-3.html| Next ]] Chapter, [[vifaq-1.html| Previous ]] Chapter
Table of contents of [[vifaq.html#toc2|this chapter]], General [[vifaq.html#toc|table of contents]]
[[vifaq.html| Top ]] of the document, [[#0| Beginning of this Chapter]]