Vim - Définition et Explications

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

Introduction

Vim
Logo de Vim Vim gloss 128.png
Capture d'écran de Vim
Capture d'écran de Vim
Développeur (En informatique, un développeur (ou programmeur) est un informaticien qui réalise des...) Bram Moolenaar et contributeurs
Première version 1991
Dernière version 7.3 [+/-]
Écrit en C, VimScript
Environnements AmigaOS (AmigaOS est le système d'exploitation natif des ordinateurs Amiga, lancé en 1984 et...), Atari (Atari est à l'origine une entreprise américaine pionnière dans l'industrie du jeu...) MiNT, BeOS (BeOS est un système d'exploitation développé par la société...), MS-DOS (MS-DOS (abréviation de Microsoft Disk Operating System) est un système d'exploitation...), Mac OS (Mac OS (pour Macintosh Operating System) est le nom du système d'exploitation d'Apple pour ses...), NeXTSTEP (NeXTSTEP est le système d'exploitation des ordinateurs conçus par NeXT, basé sur un micro-noyau...), OS/2 (OS/2 est un système d'exploitation créé par Microsoft et IBM, qui ensuite a...), OSF, RiscOS (RiscOS est un système d'exploitation peu connu de type Unix, pour les processeurs MIPS, à ne pas...), SGI, UNIX (UNIX (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec...), VMS, Windows (Windows est une gamme de systèmes d'exploitation produite par Microsoft, principalement destinées...), BSD, GNU/Linux
Type Éditeur de texte
Licence Logiciel libre (Un logiciel libre est un logiciel dont l'utilisation, l'étude, la modification, la duplication...), Caritaticiel (Un caritaticiel ou logiciel caritatif (en anglais charityware ou careware) est un logiciel...)
Site Web (Un site Web est un ensemble de pages Web hyperliées entre elles et mises en ligne à une...) www.vim (Vim est un éditeur de texte, c’est-à-dire un logiciel permettant la manipulation...).org

Vim est un éditeur de texte, c’est-à-dire un logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements...) permettant la manipulation de fichiers texte. Il est directement inspiré de vi (un éditeur très répandu sur les systèmes d’exploitation de type UNIX), dont il est le clone le plus populaire. Son nom signifie d’ailleurs Vi IMproved, que l’on peut traduire par « VI aMélioré ».

Contrairement à vi, Vim est un logiciel libre. Son code source (Le code source (ou les sources voire le source) est un ensemble d'instructions écrites dans un...) a été publié pour la première fois en 1991 par Bram Moolenaar, son principal développeur. Depuis, ce dernier a continué de l’améliorer, avec l’aide de nombreux contributeurs.

Vim possède son propre langage d’extension, ce qui lui permet la prise en charge (La charge utile (payload en anglais ; la charge payante) représente ce qui est effectivement...) de tâches évoluées, telles que la production de code source. Malgré de nombreuses fonctionnalités, il conserve un temps (Le temps est un concept développé par l'être humain pour appréhender le...) de démarrage court et reste ainsi adapté pour des modifications simples et ponctuelles (fichiers de configuration par exemple).

Vim se différencie de la plupart des autres éditeurs par son fonctionnement modal, hérité de vi : il se comporte différemment selon le dans lequel il se trouve.

Présentation

Image 1 : Vim dans une console : coloration syntaxique (La coloration syntaxique désigne en informatique une fonctionnalité proposée par certains...), repli et numérotation des lignes

Dans un terminal informatique (L´informatique - contraction d´information et automatique - est le domaine...), Vim fonctionne en mode texte (En informatique, le mode texte, par opposition au mode graphique, est un type d'affichage sur...) plein écran (Un moniteur est un périphérique de sortie usuel d'un ordinateur. C'est l'écran où s'affichent...), comme l’éditeur de texte vi. Toutes les fonctions qu’il propose sont accessibles à l’aide du seul clavier. Ceci s’explique par des raisons historiques : les premières versions de vi datent du milieu des années 1970, époque à laquelle les terminaux les plus répandus ne disposaient que d’un clavier et d’une liaison série très lente (La Lente est une rivière de la Toscane.) avec l’ordinateur central.

Vim est pratiquement compatible à 100 % avec vi, toutefois de nombreuses améliorations ont été apportées avec le temps : il dispose d’une interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface...) utilisateur graphique moderne avec le support de la souris (Le terme souris est un nom vernaculaire ambigu qui peut désigner, pour les francophones, avant...) et des menus (gVim), et d’une version simplifiée pour les utilisateurs débutants (eVim).

À noter qu’il existe une version compacte, Vim-Tiny. Cette version minimale de vim compilée sans interface graphique et avec seulement un petit sous-ensemble (En mathématiques, un ensemble A est un sous-ensemble ou une partie d’un ensemble B, ou...) de fonctions n’est que très légèrement plus grosse que nvi. Certaines fonctionnalités, tel que la coloration syntaxique, ne sont pas incluses dans Vim-Tiny.

Vim est utilisable sur de nombreux systèmes d’exploitation et est disponible sur pratiquement toutes les distributions GNU/Linux. En général, l’exécutable vi sur Linux (Au sens strict, Linux est le nom du noyau de système d'exploitation libre, multitâche,...) correspond à un lien ou à un alias appelant Vim. Quand Vim est déjà lancé, il est possible de connaître sa version en utilisant la commande (Commande : terme utilisé dans de nombreux domaines, généralement il désigne un ordre ou un...) :version du .

Caractéristiques fonctionnelles

Vue (La vue est le sens qui permet d'observer et d'analyser l'environnement par la réception et...) générale

  • Multi-tampons : édition de plusieurs fichiers simultanément
  • Multifenêtrage : gestion des fenêtres, partages horizontaux ou verticaux
  • Mise en forme du texte et , permettant les opérations sur des blocs
  • Annulation et restauration illimitées
  • Nombreux fichiers de support pour l’édition de fichiers de type prédéfini (notamment plus de 200 fichiers de configuration pour la coloration syntaxique)
  • Coloration syntaxique adaptée au langage en cours d’édition
  • Indentation (Une indentation est un retrait par rapport à la norme. Cela peut se comprendre de quatre...) automatique (L'automatique fait partie des sciences de l'ingénieur. Cette discipline traite de la...) adaptée au langage
  • Langage de script intégré pour ajouter ou étendre des fonctionnalités
  • Complètement (Le complètement ou complètement automatique, ou encore par anglicisme complétion ou...) des commandes, des mots ou des noms de variables
  • Auto-commandes (elles permettent par exemple d’automatiser la décompression des fichiers zippés avant de les éditer)
  • Reconnaissance et conversion des formats de fichier ( Un fichier est un endroit où sont rangées des fiches. Cela peut-être un meuble, une pièce,...) (Unix, MS-DOS ou Mac)
  • Historique des commandes, des recherches… facilement consultable
  • Enregistrement et exécution de macro-commandes
  • Intégration possible (et optionnelle) de langages interprétés dans le langage de script de Vim : Perl, Python, Ruby (Ruby est un langage de programmation libre. Il est interprété, orienté objet, et...), Tcl, et à partir de la version 7 MzScheme
  • Support de l’édition de droite à gauche (hébreu, arabe, persan, etc.)
  • Repli de certaines parties du texte pour faire émerger une structure, y compris dans le mode « différences » pour comparer des versions successives d’un même fichier
  • Gestion des marqueurs pour se déplacer facilement dans le code source d’un programme
  • Interface graphique optionnelle disponible pour différentes bibliothèques graphiques (Windows, Mac, GTK+, Motif…)
  • Hautement configurable, préférences systèmes et personnelles sont prises en compte
  • Pour les puristes : il existe un mode quasiment compatible à 100 % avec vi, aux erreurs et bugs manifestes près de ce dernier
  • Plusieurs « registres », permettant d’avoir un presse-papiers (En informatique, un presse-papiers est une fonctionnalité qui permet de stocker des données que...) avec des contenus différents ; le contenu des registres est facilement consultable et copiable dans le fichier édité

L’efficacité de Vim est notamment due à plusieurs améliorations marquantes par rapport à vi.

Plates-formes

Vim a l’avantage de fonctionner sur de nombreux systèmes d’exploitation. Cet aspect multiplate-forme (Un logiciel multiplate-forme ou multiplateforme est un logiciel conçu pour fonctionner sur...) est très important pour les utilisateurs travaillant sur plusieurs environnements différents, comme les administrateurs systèmes. Avec Vim, ils trouvent un éditeur identique (aux capacités de chaque système d’exploitation près) pour tous ces systèmes :

AmigaOS, Atari MiNT, BeOS, MS-DOS, Mac OS, NeXTSTEP, OS/2, OSF, RiscOS, SGI, UNIX, VMS, Win16 + Win32 (Windows 95/98/2k/NT/XP/Vista/2k3), et tous les systèmes BSD et GNU/Linux.

Aide interne (En France, ce nom désigne un médecin, un pharmacien ou un chirurgien-dentiste, à la...)

Image 3 : Aide de Vim : la rubrique d’aide dans la fenêtre (En architecture et construction, une fenêtre est une baie, une ouverture dans un mur ou un pan...) du haut, et le résultat de la commande ':helpgrep evim' dans la fenêtre du bas

Vim possède une documentation établie selon le précepte : « Une fonctionnalité non documentée est une fonctionnalité inutile ». La documentation en mode texte occupe pratiquement 4 mégaoctets. L’utilisateur a la possibilité d’utiliser différentes fonctions de recherche (La recherche scientifique désigne en premier lieu l’ensemble des actions entreprises en vue...).

Grâce à la coloration syntaxique et à une manière spécifique de rédiger les fichiers d’aide, les notions principales sont mises en valeur. Les sujets documentés (désignés par des mots-clés) ont une couleur (La couleur est la perception subjective qu'a l'œil d'une ou plusieurs fréquences d'ondes...) particulière et apparaissent entourés par des barres verticales. Le déplacement ( En géométrie, un déplacement est une similitude qui conserve les distances et les angles...) dans l’aide s’effectue grâce à des liens hypertextes. Cette navigation (La navigation est la science et l'ensemble des techniques qui permettent de :) se pratique à l’aide de commandes claviers, mais est également possible par l’intermédiaire de la souris, dans l’interface graphique.

Il existe d’autres commandes encore pour faciliter les recherches de l’utilisateur, en particulier la commande :helpgrep (Image 3). Avec cette commande, l’utilisateur peut chercher un mot-clé au travers de la totalité de l’aide, afficher les résultats dans une fenêtre et atteindre l’emplacement correspondant dans les fichiers de l’aide. Il est possible de faire des recherches sur les résultats de la recherche afin d’y trouver d’autres mots-clés.

L’aide interne est complétée par une version HTML disponible en ligne sur Internet (Internet est le réseau informatique mondial qui rend accessibles au public des services...), une Foire Aux Questions, une littérature nombreuse et variée en français ou en anglais, et bien d’autres sources d’informations encore. Le site (en) VimDoc donne accès à de nombreuses informations sur la documentation existante.

Comparaison de fichiers

Image 4 : Comparaison de fichiers avec gVim

Vim donne la possibilité d’afficher facilement deux (ou trois) versions d’un fichier côte à côte et de mettre dans une couleur différente (En mathématiques, la différente est définie en théorie algébrique des...) leurs différences. Les lignes ajoutées ou supprimées ont leur propre couleur, tandis que les lignes communes sont repliées afin de les masquer.

Le défilement vertical (Le vertical (rare), ou style vertical, est un style d’écriture musicale consistant en...) des fenêtres des fichiers comparés est synchronisé, afin de conserver les lignes identiques constamment face à face. Des commandes permettent de placer le curseur sur les différences suivantes ou précédentes ([c et ]c) puis de reporter ces différences depuis ou vers l’autre fichier (do et dp). La coloration syntaxique est automatiquement remise à jour (Le jour ou la journée est l'intervalle qui sépare le lever du coucher du Soleil ; c'est la...) pour en tenir compte.

Fonctionnalités pour les programmeurs

Vim est un éditeur de texte écrit pour les programmeurs. Pour leur faciliter la tâche, il existe un mode de fonctionnement appelé Quickfix, simplifiant le cycle « édition-compilation-correction ». Comme dans un environnement de développement intégré (Un environnement de développement intégré (EDI ou IDE en anglais pour Integrated...), le code source édité est directement compilé depuis Vim, qui appelle le compilateur (Un compilateur est un programme informatique qui traduit un langage, le langage source, en un...) approprié. Si des erreurs surviennent pendant la compilation, elles sont affichées dans une nouvelle fenêtre. Dans la fenêtre contenant le code source, il est alors possible de sauter directement à la ligne concernée par le message (La théorie de l'information fut mise au point pour déterminer mathématiquement le taux...) d’erreur pour la corriger. Ainsi un nouveau cycle de compilation peut recommencer et les éventuelles nouvelles erreurs être corrigées. Vim offre aussi la coloration syntaxique et la possibilité de replier certaines parties de leur code (voir :help quickfix).

Langage de script Vim

Image 5 : gVim avec le script Calendar (à gauche) et le fichier de script correspondant (à droite)

Vim dispose d’un langage de script programmable et extensible. Ainsi les traitements trop complexes pour être effectués à l’aide d’une macro peuvent être automatisés. Les scripts Vim peuvent être appelés explicitement au démarrage de Vim avec l’option -s de la ligne de commande, ou bien automatiquement s’ils se trouvent dans le répertoire approprié. Quand Vim est déjà démarré, la commande :source permet de les charger. Un exemple de script Vim est le fichier de démarrage, .vimrc sur Unix et _vimrc sur MS-Windows, qui contient l’ensemble des réglages à effectuer. Ce fichier est automatiquement chargé au lancement de Vim.

Dans le langage de script Vim, toutes les commandes du sont disponibles en tant qu’instructions, ainsi que les commandes du grâce à la commande :normal. Il existe deux types de données : les Nombres et les Chaînes de caractères (plus, dans la version 7 uniquement, listes, dictionnaires et pointeurs de fonction). Les booléens sont évalués comme des Nombres, avec la convention suivante : nul = FAUX et non-nul = VRAI. Les principaux opérateurs de comparaisons, les opérateurs logiques et les opérations arithmétiques de base sont intégrés. Les structures de contrôle (Le mot contrôle peut avoir plusieurs sens. Il peut être employé comme synonyme d'examen, de...) if - then - elseif - else et les boucles while sont disponibles. L’utilisateur peut définir ses propres fonctions et dispose de plus de cent fonctions prédéfinies -- essentiellement des appels systèmes. Les scripts peuvent être testés en mode de débogage.

Avant d’écrire un script, il vaut mieux vérifier la page des scripts Vim, pour s’assurer qu’un script fonctionnellement équivalent n’existe pas déjà. Bien que de nombreux scripts soient destinés à faciliter la programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent...), les utilisateurs non-programmeurs auront tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou...) à gagner à y jeter un œil. En effet, tout utilisateur ayant résolu un problème général a pu mettre ses scripts à disposition. Par exemple, le script Vim "calendar" permet d’organiser ses échéances de manière très simple. Une fois copié dans le répertoire adapté, il suffit de l’appeler avec la commande :Calendar dans Vim.

Page générée en 0.551 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique