Vil (rédacteur)

le vil est un éditeur de texte qui essaye de combiner les meilleurs aspects des rédacteurs populaires de Emacs et de Vi . Ces rédacteurs sont traditionnellement plac des côtés de opposition des guerres de rédacteur de , car les utilisateurs d'Emacs et vi tendent à avoir des sentiments forts contre le rédacteur qu'ils n'emploient pas ; cependant, au moins tentatives viles de réconcilier ces positions.

le vil est un acronyme qui représente le " ; L macs" du VI du E d'ike de ;. vil est décrit en chapitre 12 du " de livre d'O'Reilly ; Étude du vi Editor" ;. Le programme est également connu comme xvile pour Système de la fenêtre du X, et winvile pour le Microsoft Windows .

vil est maintenu par le Dickey de Thomas de , qui a succédé de Fox original de Paul auteur dedans 1996, après des années des contributions importantes au codebase.

Étude pour employer vil

Historiquement, la documentation vile s'est concentrée sur des différences de vi. Ce contraste avec l'autre commun vi-copie (elvis , Nvi et vim ) que avoir la documentation vi combinée avec leurs prolongements respectifs.

La documentation vile est trois parts :
le dossier d'aide en ligne (type : h )
matières spécialisées telles que le macro-langage (dossiers des textes)
documentation intégrée.
tables des commandes et d'autres données
fenêtres dynamiques montrant le contenu de registre, les mode-arrangements, etc.

vil est construit d'une combinaison de code hand-crafted et de tables traités par un programme pour un but particulier. L'information prédéfinie des tables peut être rendue dans diverses manières, incluant montrant les commandes disponibles, fournissant le nom-accomplissement, etc. Dans d'autres saveurs du vi , les tables analogues ne sont pas distinctes du code hand-crafted.

Dans l'autre vi assaisonne l'information montrée dynamiquement dans vil est statique, exiger de l'interaction de l'utilisateur de lui faire la mise à jour. des mises à jour viles ces fenêtres spéciales en tant que changements sont faites aux dispositifs qu'elles rendent, par exemple, la liste de tous les amortisseurs dans la mémoire, des mode-arrangements correspondant à l'amortisseur qui a le foyer, etc.

Tandis que plusieurs (pas tous) de dispositifs vils sont maintenant trouvés dans d'autres rédacteurs vi-compatibles, une partie du plus puissant a été mise en application avant adoption répandue dans les autres. Par exemple, les fenêtres multiples étaient de premiers dispositifs dans vil (et xvi) dès le début. Le même s'applique à la lecture à partir des pipes, barrières complexes. Une partie de ceci est mise en évidence dans le livre d'O'Reilly, bien qu'aucune étude soigneuse n'ait été effectuée de la manière de laquelle des dispositifs sont adoptés et adaptés à travers le vi et des variantes d'emacs de .

Dispositifs et améliorations au-dessus du vi

édition de Multi-fenêtre/multi-amortisseur
Le à multiniveaux défont/refont
Multi-plate-forme avec les configurations indigènes plutôt que dans un Unix - environnement compatible
Lit un amortisseur d'entrée standard ou des commandes externes sifflées
sauts d'analyse d'Erreur-expression à la ligne produisant des compiler-erreurs, des allumettes du Grep , etc.
Mises à jour dynamiques de fenêtre
Langue Scripting
Beaucoup d'arrangements du mode de , globalement, par-amortisseur, par-fenêtre
Couleur-syntaxe de accentuant pour chaque majormode (84 à partir de 2007).
Commande-accomplissement
Choix-mise en évidence using le clavier ou la souris.
Le dispositif complexe de la barrière de permet à l'utilisateur de faire un pas par des rapports d'if/then/else
Expressions régulières prolongé using le POSIX et les dispositifs de Perl .

Différences du vi

Aucun mode ex du vrai , bien que la plupart des commandes ex du soient identifiées
le Commande-accomplissement et les longs commande-noms étant à la base le rendent impossibile pour être 100% vi-compatible.

Dispositifs, en plus détail

Accomplissement de commande

Accomplissement vil de commande de de soutiens à plusieurs phases de la commande : le commande-nom, les valeurs de mode, le dossier et les annuaire-noms.

Majormodes

Les deux vi et emacs ont les modes , qui sont des arrangements qui affectent le comportement du programme. Vil prolonge les modes du Vi tels que la liste de , le nombre de , etc., en fournissant trois niveaux de mode : global, amortisseur de et fenêtre de . Les modes de l'amortisseur de sont associés au contenu d'amortisseur, par exemple, ligne-terminateurs, attributs inaltérables. Tous ces modes sont prédéfinis. Vil peut être adapté aux besoins du client en définissant les majormodes de , qui combinent les arrangements spécifiques des modes de l'amortisseur de avec une association au type de dossier. Ces majormodes de ont aussi bien des modes spéciaux tels que l'association avec un filtre spécifique de syntaxe de .

Mise en évidence de syntaxe

Vil exécute la syntaxe accentuant en lançant un programme du filtre de syntaxe de qui analyse le contenu d'amortisseur. Au commencement c'était un programme séparé. Cependant, pour améliorer l'exécution et éviter des problèmes d'affichage, ces filtres de syntaxe habituellement sont compilés dans le rédacteur. La plupart des filtres de syntaxe sont mises en application avec le lex (de préférence câble de ), avec le reste dans le C pour adresser des grammaires irrégulières telles que Perl et rubis . Tous les filtres de syntaxe suivent la même conception :
lire à partir d'un dossier externe la couleur et vidéo-attribuer l'information dans une table de brouillage enchaînée par ,
analyser le dossier selon les règles lexicologiques
trouver la couleur correspondante et vidéo-attribuer l'information pour chaque élément lexicologique, et
écrire à un la copie annotée de du dossier qui est lu par vil (par l'intermédiaire d'une pipe si les filtres de syntaxe sont des programmes externes, ou par l'intermédiaire d'un appel de fonction s'ils sont internes).

Peintures viles que l'information de marge bénéficiaire bénéficiaire sur l'amortisseur contente employant dans les régions délimitées par la ligne et les nombres de colonne. Le marge bénéficiaire bénéficiaire n'est pas attaché au contenu fondamental d'amortisseur. Pour mettre à jour le marge bénéficiaire bénéficiaire comme amortisseur est changée exige l'analyse. Ceci est fait automatiquement quand l'utilisateur fait une pause.

Histoire

vil a été en cours de développement continu depuis 1990. Une partie accentue :
port 1990 au MS-DOS
1991 xvile, un client X11
Étape 1992 par des rapports du C-préprocesseur #if/…/#endif.
port 1993 au OpenVMS
1994
using le Autoconf au port aux plates-formes d'Unix
port à la console de Microsoft Windows
port au OS/2
1995
Syntaxe de C accentuant using des attributs de vidéo attachés à l'amortisseur
1996
converti à la norme ANSI C
interface 1997 de Perl
1998
winvile, un client de GUI de Windows
attributs d'amortisseur de cartel des majormodes de basés sur le type de dossier
1999
majormodes et syntaxe de cartel accentuant pour plus de 30 langues
relicense comme GPLv2
Les filtres 2000 de syntaxe peuvent être intégrés ou externes
2001 Erreur-progressions généralisées.
2002 Caractère-classes dans des expressions régulières
Minibuffer 2003 (prompt-ligne) a généralisé comme un-ligne rédacteur
appui 2004 du lieu
Les filtres 2005 de syntaxe peuvent être dynamiquement chargés
2006 manuscrits multiples peuvent être appelés par l'intermédiaire de la commande-ligne options
2007 appui de base d'Unicode .

Voir également


Liste de des éditeurs de texte
Comparaison de des éditeurs de texte .
Random links:Béhémoth | Roche d'Allan | Les filles de McLeod | Wonthaggi, Victoria | Chex | Vil_(redactor)