Privacy Policy Cookie Policy Terms and Conditions Vim - Wikipédia

Vim

Un article de Wikipédia, l'encyclopédie libre.

Vous avez de nouveaux messages (diff ?).
Pour les articles homonymes, voir Vim (homonymie). 

Logo de Vim
Développeur Bram Moolenaar et contributeurs
Dernière version 7.0 (le 8 mai 2006)
Environnement AmigaOS, Atari MiNT, BeOS, MS-DOS, Mac OS, NeXTSTEP, OS/2, OSF, RiscOS, SGI, UNIX, VMS, Windows, BSD, GNU/Linux
Type Éditeur de texte
Licence Caritaticiel compatible GPL
Site web www.vim.org

Vim est un éditeur de texte, c'est-à-dire un logiciel 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é », ou éventuellement « VI Meilleur ».

Contrairement à vi, Vim est un logiciel libre. Son code source 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 de tâches évoluées, telles que la production de code source. Malgré de nombreuses fonctionnalités, il conserve un temps 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 mode d'édition dans lequel il se trouve.

Sommaire

[modifier] Présentation

Image 1: Vim dans une console : coloration syntaxique, repli et numérotation des lignes
Agrandir
Image 1: Vim dans une console : coloration syntaxique, repli et numérotation des lignes

Dans un terminal informatique, Vim fonctionne en mode texte plein écran, comme l'éditeur de texte vi. Son utilisation se fait exclusivement au clavier. Ceci s'explique d'une part pour des raisons historiques, car 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'une liaison série très lente avec l'ordinateur central. D'autre part, cela se justifie par le comportement modal de Vim.

Vim est pratiquement compatible à 100 % avec vi, toutefois de nombreuses améliorations ont été apportées avec le temps : il dispose d'une interface utilisateur graphique moderne avec le support de la souris et des menus (gVim), et d'une version simplifiée pour les utilisateurs débutants (eVim).

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 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 :version du mode Normal.

[modifier] Histoire

[modifier] Bref historique sur ed/vi

Au début des années 1970, l'éditeur standard d'Unix était ed de Ken Thompson. ed ne permettait qu'une édition ligne par ligne, et n'affichait pas l'intégralité du texte comme cela est aujourd'hui habituel. Il fallait pour cela demander explicitement l'affichage du fichier. Pour pouvoir travailler malgré les limites imposées par l'édition ligne par ligne, il était nécessaire d'utiliser un mode dédié à l'insertion et un mode dédié au passage de commandes.

Les commandes de ed sont principalement composées d'une lettre, précédée d'une indication donnant les lignes sur lesquelles agir. En 1976, quand Bill Joy développa vi, le progrès fut considérable, puisqu'il considérait l'écran dans son ensemble et qu'il reportait les modifications apportées au texte édité dans la représentation qu'il en donnait. vi a hérité de ed le concept des modes et les instructions obscures. On retrouve aujourd'hui encore ces particularités dans les éditeurs compatibles avec vi, en particulier Vim.

[modifier] Développement de Vim

Image 2 : Vim en mode graphique, avec l'explorateur de fichiers (à gauche) et l'édition d'un fichier Unicode (à droite)
Agrandir
Image 2 : Vim en mode graphique, avec l'explorateur de fichiers (à gauche) et l'édition d'un fichier Unicode (à droite)

À la fin des années 1980, quand Bram Moolenaar s'est acheté un ordinateur de marque Amiga, il souhaitait avoir la possibilité d'utiliser l'éditeur qu'il connaissait et auquel il était habitué sur UNIX. Mais aucun vi n'existait à cette époque sur Amiga, il a développé en 1988 la version 1.0 de Vim, sur la base de « Stevie » (STvi), un clone de vi écrit pour Atari. À cette époque, Vim signifiait Vi IMitation, car son objectif principal consistait d'abord à reproduire les fonctionnalités de vi. En 1991, Vim 1.14 fut distribué pour la première fois sur la disquette Fred Fish disk #591, une collection de logiciels libres pour Amiga. En 1992, la version 1.22 de Vim est portée sur UNIX et MS-DOS. C'est à ce moment que l'acronyme Vim a changé de signification pour devenir « VI aMélioré ».

Au cours des années suivantes, Vim a connu de nombreuses améliorations. Une étape importante fut l'introduction des fenêtres multiples dans la version 3.0 (en 1994). Avant cela, il était déjà possible d'éditer plusieurs fichiers dans Vim, mais un seul fichier était visible à la fois, il n'était pas possible d'afficher plusieurs fichiers simultanément. Avec la version 4.0 (datant de 1996) fut ajoutée pour la première fois une interface utilisateur graphique, en grande partie écrite par Robert Webb. Depuis 1998, Vim (dans sa version 5.0) propose la coloration syntaxique.

La version 6.0 a vu le jour en 2001 : repli du texte, greffons, support de l'internationalisation, partage des fenêtres vertical. Depuis la sortie de la version 5.4 en juillet 1999, des rustines sont publiées pour corriger les erreurs et éliminer les bugs.

La dernière étape notable de Vim est survenue en 2006 avec la version 7.0 [1]. Son développement a débuté en 2004 [2] et elle intègre en particulier la vérification et la correction orthographique, le support des onglets et un complètement personnalisable selon les langages. Le principe fondamental du développeur principal de Vim reste toujours le même : Vim doit rester un éditeur de texte et être le plus possible au service de l'utilisateur.

[modifier] Résumé des versions

Date Version Étape remarquable
1988 1.0 Inspirée par Stevie, son nom signifie alors Vi IMitation. Cette version pour Amiga n'a jamais été publiée
2 novembre 1991 1.14 Première version publiée sur Amiga avec le Fred Fish disk #591
1992 1.22 Portage vers Unix. Vim est maintenant au niveau de Vi. Le nom Vim signifie désormais Vi IMproved
12 août 1994 3.0 Support des fenêtres multiples
29 mai 1996 4.0 Interface graphique
19 février 1998 5.0 Coloration syntaxique, langage de script basique (fonctions et commandes définies par l'utilisateur, etc.)
26 septembre 2001 6.0 Repliage, greffons, gestion des types de fichiers, ajout du partage vertical des fenêtres
8 mai 2006 7.0 Vérification orthographique, complètement du code, support des onglets


Note : Dans son aide interne, Vim comporte le détail des modifications entre chaque version. Par exemple, la commande du mode Normal :help version-5.4 permet de connaître les différences entre les versions 5.3 et 5.4. De cette manière, il est possible de remonter jusqu'aux différences entre les versions 3.0 et 4.0.

[modifier] Caractéristiques fonctionnelles

[modifier] Vue 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 mode Visuel, 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 automatique adapté au langage
  • Langage de script intégré pour ajouter ou étendre des fonctionnalités
  • Complètement 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 (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, Tcl, et à partir de la version 7 MzScheme
  • Support de l'édition de droite à gauche (hébreu, arabe, persan,...)
  • 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 bogues manifestes près de ce dernier
  • Plusieurs « registres », permettant d'avoir un presse-papiers 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.

[modifier] Plates-formes

Vim a l'avantage de fonctionner sur de nombreux systèmes d'exploitation. Cet aspect multi plate-forme 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/00/NT/XP), et tous les systèmes BSD et GNU/Linux.

[modifier] Aide interne

Image 3 : Aide de Vim : la rubrique d'aide dans la fenêtre du haut, et le résultat de la commande ':helpgrep evim' dans la fenêtre du bas
Agrandir
Image 3 : Aide de Vim : la rubrique d'aide dans la fenêtre du haut, et le résultat de la commande ':helpgrep evim' dans la fenêtre du bas

Vim possède une excellente documentation, établie selon le précepte suivant : « Une fonctionnalité non documentée est une fonctionnalité inutile. » La documentation en mode texte occupe pratiquement 4 méga-octets et est d'une grande clarté. Au moment d'obtenir de l'aide, le problème reste de trouver la bonne information. L'utilisateur a la possibilité d'utiliser différentes fonctions de recherche.

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 particulière et apparaissent entourés par des barres verticales. Le déplacement dans l'aide s'effectue grâce a des liens hypertextes. Cette navigation 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, une Foire-Aux-Questions conséquente, 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.

[modifier] Comparaison de fichiers

Image 4 : Comparaison de fichiers avec gVim
Agrandir
Image 4 : Comparaison de fichiers avec gVim

Un problème que connaissent probablement tous les utilisateurs d'un ordinateur est de comparer deux versions d'un fichier. 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 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 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 pour en tenir compte.

[modifier] Fonctionnalités pour les programmeurs

Vim est un éditeur de texte écrit par des programmeurs pour des 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é, le code source édité est directement compilé depuis Vim, qui appelle le compilateur 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 d'erreur pour la corriger. Ainsi un nouveau cycle de compilation peut recommencer et les éventuelles nouvelles erreurs être corrigées. Les programmeurs trouveront également utiles la coloration syntaxique et la possibilité de replier certaines parties de leur code (voir :help quickfix).

[modifier] Langage de script Vim

Image 5 : gVim avec le script Calendar (à gauche) et le fichier de script correspondant (à droite)
Agrandir
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 mode ligne-de-commande sont disponibles en tant qu'instructions, ainsi que les commandes du mode Normal 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 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, les utilisateurs non-programmeurs auront tout à 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.

[modifier] Modes

Vim est un éditeur modal. Cela signifie que l'on effectue différentes tâches dans différents modes, ce qui pose bien souvent des problèmes aux débutants. Pour voir dans quel mode on se trouve, il est possible d'activer l'option 'showmode'. Seuls les six modes de base sont indiqués et brièvement décrits dans cet article. Les cinq modes supplémentaires sont des variantes des modes de base. Ils ne seront pas exposés ici, afin de faciliter la compréhension. Pour plus d'informations, consultez l'aide intégrée de Vim :help vim-modes.

[modifier] Mode Normal

Vim démarre en mode Normal, aussi appelé mode Commande. Dans ce mode, il est par exemple possible de copier des lignes ou de les déplacer grâce à des raccourcis, de mettre du texte en forme, ou de se déplacer dans le fichier. Il s'agit du mode central, en ce sens qu'il permet d'accéder à tous les autres modes.

[modifier] Mode Insertion

Le mode Insertion est le plus naturel, car il se comporte comme la plupart des autres éditeurs. On peut passer du mode Normal au mode Insertion avec la commande i (comme « Insertion »). Il existe de nombreuses autres commandes pour passer dans ce mode. En mode Insertion, l'édition du texte se fait de manière habituelle. eVim démarre directement dans ce mode. Mais dans ce cas, toutes les commandes du mode Normal ne sont pas disponibles ou facilement accessibles, ce qui est contraire au critère d'efficacité prôné pour Vim. La touche Echap permet de retourner dans le mode Normal.

[modifier] Mode Ligne-de-commande

On atteint ce mode en tapant d'abord le caractère deux-points :. Ensuite, une commande complexe peut être saisie, comme par exemple une commande de substitution (rechercher puis remplacer). Après un appui final sur la touche Entrée, la commande est exécutée et Vim retourne dans le mode Normal. Le mode Ligne-de-commande comprend également les commandes / (chercher du texte vers l'avant), ? (chercher du texte vers l'arrière) et la commande pour filtrer !.

[modifier] Mode Visuel

Ce mode constitue une amélioration par rapport à vi et ressemble au mode Normal. À l'aide d'un raccourci, une zone de texte, par exemple une suite de caractères (raccourci v), un ensemble de lignes (raccourci MAJ-V) ou bloc rectangulaire (raccourci CTRL-V), peut être délimitée à l'aide des touches fléchées. La zone ainsi sélectionnée est signalée par une coloration particulière. Ensuite, des commandes du mode Normal peuvent être appliquées à cette zone. Dans ce mode, le travail est facilité par le fait que l'on voit avec précision la zone sur laquelle on agit.

[modifier] Mode Sélection

Ce mode débute par le mode Visuel, dans lequel on choisit une zone de texte. Ensuite, on accède au mode Sélection avec le raccourci CTRL-G. Dans ce mode, dès qu'un caractère imprimable est saisi, la zone sélectionnée est supprimée et Vim passe en mode Insertion, c'est-à-dire que le texte sélectionné est remplacé par le texte tapé. La touche Echap permet de sortir de ce mode. Ce mode constitue une amélioration par rapport à vi.

[modifier] Mode Ex

Ce mode ressemble au mode Ligne-de-Commande, à la différence que Vim ne retourne pas dans le mode Normal après l'exécution de chaque commande. Le raccourci Q permet de passer dans ce mode tandis que :vi permet d'en sortir.

[modifier] Détracteurs et défenseurs

Vim est réputé pour être l'un des éditeurs de texte les plus puissants. Son principal concurrent est Emacs ; la lutte entre Vimistes et Emacistes est une source intarissable de trolls. Cf. guerre d'éditeurs.

[modifier] Détracteurs

Les détracteurs critiquent le temps nécessaire avant d'être pleinement efficace avec des éditeurs tels que vi ou Vim, ainsi que son principe général de fonctionnement, qui diffère de la majorité des autres éditeurs. Souvent, l'utilisateur ne sait pas dans quel mode il se trouve. On lui reproche aussi ses nombreuses commandes aux raccourcis obscurs, qu'il est impossible de toutes connaître. Il entraîne de fait parfois la frustration de certains utilisateurs, qui le trouvent anachronique. Par conséquent, vi et Vim ne sont pas adaptés à une utilisation occasionnelle.

[modifier] Défenseurs

Les défenseurs de Vim répondent que la contrepartie du temps important de formation est une productivité plus importante comparée aux autres éditeurs. Les raccourcis des commandes sont bien souvent des initiales des phrases indiquant la tâche à effectuer. Par exemple la commande daw efface un mot (Delete A Word, traduction littérale en anglais). Ces raccourcis permettent d'effectuer de nombreux traitements sans quitter le clavier et avec peu de saisie, comme copier ou coller du texte, le mettre en forme, effectuer un tri, ce qui n'est pas toujours immédiat avec d'autres éditeurs de texte. Bien qu'entièrement contrôlable avec le clavier, Vim permet aussi de travailler avec des menus et la souris en mode graphique.

Il est à noter par exemple que Gmail reprend certaines touches de fonction de Vim, pour pouvoir naviguer et traiter les messages de la boîte aux lettres sans l'aide de la souris (si l'option « Raccourcis clavier » est activée).

Enfin, Vim est léger et rapide. Disponible sur de nombreuses plates-formes, il convient parfaitement au traitement des fichiers de configuration.

[modifier] Faits établis et consensus

Pour pouvoir travailler efficacement avec Vim, il est d'abord nécessaire de comprendre le principe des modes. Avec une connaissance de base de quelques commandes du mode Normal, Vim est utilisable. Toutefois, pour travailler efficacement, et devenir potentiellement plus productif qu'avec tout autre éditeur, il est nécessaire de connaître un grand nombre de raccourcis et d'atteindre une certaine maîtrise dans leur utilisation.

L'une des autres qualités de Vim est qu'il est hautement paramétrable (raccourcis, touches, menus, définition de nouvelle fonctions, etc.). Cette caractéristique a permis notamment d'introduire le mode Vim Easy (depuis la série 6.x), permettant à Vim de se comporter comme un éditeur de texte classique (« amodal »), ce qui le met à la portée des non-initiés.

[modifier] Récompenses et distinctions

De 2001 à 2005, Vim a gagné le prix Readers' Choice Awards du Linux Journal dans la catégorie Favorite Text Editor.

En 2000, il a reçu le Slashdot Beanie Award en tant que Best Open Source Text Editor, et en 1999, il a reçu Linuxworld Editors 'Choice Award.

[modifier] Licence

Vim est un logiciel libre dont la licence est compatible avec la GPL, ce qui signifie que vous pouvez le distribuer librement. Vim est aussi un caritaticiel — c'est-à-dire que si vous l'utilisez, vous êtes encouragé à faire un don en faveur d’ICCF Holland, pour les orphelins en Ouganda. Cette association, basée aux Pays-Bas, a été fondée par Bram Moolenaar et il en est actuellement le trésorier.

[modifier] Développement et communauté

Vim est principalement développé par Bram Moolenaar, aidé par de nombreux contributeurs. La page correspondante de l'aide intégrée (:help credits) fait figurer plus de 50 contributeurs. À ceux-ci s'ajoutent de nombreux anonymes, qui offrent leur aide, non seulement pour les futures fonctionnalités de Vim, mais aussi pour le portage sur d'autres systèmes d'exploitation, les tests fonctionnels, la recherche de bugs, la précision de la documentation ou la traduction. De plus, une attention particulière est donnée aux utilisateurs, sous la forme de sondage sur les (en) fonctionnalités les plus demandées, l'intégration de Vim dans d'autres projets, etc.

Tous les utilisateurs peuvent publier leurs (en) scripts Vim ou donner leurs (en) astuces et conseils d'utilisation sur le (en) site Internet de Vim. Une liste de diffusion très active permet à chacun, débutant ou utilisateur expérimenté, d'obtenir rapidement des réponses à ses questions.

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Bibliographie

  • (en) Steve Oualline, Vi IMproved - Vim, New Riders Publishing, Indianapolis 2001 (ISBN 0-7357-1001-5).
  • (de) Reinhard Wobst, Vim ge-packt, 2004 (ISBN 3-8266-1425-9).
  • (en) Linda Lamb, Arnold Robbins, Learning the vi Editor, Sixth Edition, O'Reilly, 1998 (ISBN 1-56592-426-6).
    Mentionne brièvement certaines spécificités de Vim dans un chapitre dédiés aux clones de Vi.

[modifier] Liens externes

Wikimedia Commons propose des documents multimédia sur Vim.
Portail des logiciels libres – Accédez aux articles de Wikipédia concernant les logiciels libres.
Cet article a été reconnu article de qualité le 17 décembre 2005 (comparer avec la version actuelle).
Pour toute information complémentaire, consulter sa page de discussion et le vote l'ayant promu.

THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu