*version6.txt*  Pour Vim version 6.2.  Dernière modification : 01 jun 2003


		 MANUEL de RÉFÉRENCE VIM - par Bram Moolenaar


Bienvenue dans Vim version 6.0 ! De nombreuses fonctionnalités ont été
ajoutées. Ce fichier fait le point sur toutes ces nouveautés, mais aussi sur
les modifications apportées aux fonctionnalités déjà existantes et les bogues
corrigés depuis Vim 5.x.

Voir |vi_diff.txt| pour un résumé des différences entre Vi et Vim 6.0.
Voir |version4.txt| pour les différences entre Vim 3.0 et Vim 4.0.
Voir |version5.txt| pour les différences entre Vim 4.0 et Vim 5.0.


CHANGEMENTS INCOMPATIBLES		|incompatible-6|
Position du curseur en mode Visuel		|curpos-visual|
Commande de substitution compatible Vi		|substitute-CR|
Valeurs globales d'option introduites		|new-global-values|
'fileencoding' modifié   			|fileencoding-changed|
Digrammes modifiés				|digraphs-changed|
Détection du type de fichier modifié		|filetypedetect-changed|
Tampons non listés introduits			|new-unlisted-buffers|
CTRL-U en mode Ligne-de-commande modifié	|CTRL-U-changed|
Départ de `ctags`				|ctags-gone|
Documentation réorganisée			|documentation-6|
Sélection amodale et presse-papiers		|modeless-and-clipboard|
Incompatibilités mineures			|incomp-small-6|

NOUVELLES FONCTIONNALITÉS		XXX marqueur ?
Repliage					|new-folding|
Partages verticaux de fenêtres			|new-vertsplit|
Mode diff					|new-diff-mode|
EVim : cliquer-taper				|new-evim|
Manuel de l'utilisateur				|new-user-manual|
Indentation flexible				|new-indent-flex|
Motifs de recherche étendus			|new-searchpat|
Support de l'UTF-8	 			|new-utf-8|
Support multilingue				|new-multi-lang|
Support des greffons				|new-plugins|
Greffons de types de fichiers			|new-filetype-plugins|
Explorateur de fichiers			    	|new-file-browser|
Édition de fichiers via réseau		    	|new-network-files|
Fenêtre d'édition de la ligne de commande   	|new-cmdwin|
Mode débogage				    	|new-debug-mode|
Curseur en position virtuelle		    	|new-virtedit|
Interface débogueur				|new-debug-itf|
Communication entre plusieurs Vim		|new-vim-server|
Options de type de tampon			|new-buftype|
Impression					|new-printing|
Portages					|ports-6|
Mode mise-au-point étendu			|quickfix-6|
Modificateurs d'opérateurs			|new-operator-mod|
Chemin de recherche				|new-search-path|
Enregistrement des fichiers amélioré		|new-file-writing|
Liste des arguments				|new-argument-list|
Restauration de Vues				|new-View|
Jeux de couleurs				|new-color-schemes|
Autres éléments nouveaux			|new-items-6|

AMÉLIORATIONS				|improvements-6|

CHANGEMENTS À LA COMPILATION		|compile-changes-6|

CORRECTIONS DE BOGUES  			|bug-fixes-6|


VERSION 6.1				|version-6.1|
Changements					|changed-6.1|
Ajouts	   					|added-6.1|
Corrections					|fixed-6.1|

VERSION 6.2				|version-6.2|
Changements					|changed-6.2|
Ajouts	   					|added-6.2|
Corrections				    	|fixed-6.2|

==============================================================================
Changements incompatibles				*incompatible-6*

Ces changements sont incompatibles avec les versions précédentes. Consultez
cette liste si vous rencontrez un problème en passant de Vim 5.x à 6.0.


POSITION DU CURSEUR EN MODE VISUEL			*curpos-visual*

Si vous êtes en mode Visuel et que vous passez d'une fenêtre à une autre
affichant le même tampon, la position du curseur dans cette autre fenêtre est
ajustée pour conserver la même zone Visuel. Vous pouvez ainsi définir le début
de la zone Visuel dans une fenêtre et la fin dans une autre.
   Dans Vim 5.x, l'ancienne position du curseur dans l'autre fenêtre était
utilisée, ce qui pouvait amener n'importe où et n'était pas très utile.


COMMANDE DE SUBSTITUTION COMPATIBLE VI			*substitute-CR*

La chaîne de substitution (la partie « cible » de la commande ":substitute") a
été rendue compatible Vi. Auparavant, CTRL-V avait une signification spéciale
et pouvait être utilisé afin d'éviter qu'un <CR> n'insère une coupure de
ligne. Cela rendait impossible l'insertion d'un CTRL-V avant une coupure de
ligne. Dorénavant, une contre-oblique est utilisée pour éviter qu'un <CR>
n'insère une coupure de ligne. Comme le nombre de contre-obliques est divisé
par deux, il est toujours possible d'insérer une coupure de ligne à la fin de
la ligne. Ce fonctionnement est identique à celui de Vi, mais il est
incompatible avec les versions de Vim antérieures à la 6.0.

Lorsqu'une commande ":s" n'effectue aucune substitution, elle ne positionne
désormais plus les marques '[ et ']. Cela n'a pas de rapport avec Vi, qui ne
possède pas ces marques.


VALEURS GLOBALES D'OPTION INTRODUITES			*new-global-values*

Il existe à présent des valeurs globales pour les options locales à un tampon
ou une fenêtre. Auparavant, les options locales étaient copiées d'une fenêtre
dans une autre. Cela pouvait entraîner l'utilisation de valeurs d'options
provenant de la ligne de mode d'un autre fichier ! Dorénavant, les valeurs
globales sont utilisées à l'ouverture d'un tampon qui n'a pas été utilisé
jusqu'à présent. De plus, lorsqu'un autre tampon est édité dans une fenêtre,
les options locales de fenêtres sont réinitialisées à leurs valeurs globales.
La commande ":set" fixe à la fois les valeurs globale et locale, cela reste
compatible. Mais une ligne de mode ne fixe plus que la valeur locale, il n'y a
pas de compatibilité ascendante.

":let &opt = val" fixe désormais les valeurs locale et globale, comme ":set".
De nouvelles commandes ont été ajoutées pour fixer les valeurs locale ou
globale :
	:let &opt = val		comme ":set"
	:let &g:opt = val	comme ":setglobal"
	:let &l:opt = val	comme ":setlocal"


'fileencoding' MODIFIÉ					*fileencoding-changed*

'fileencoding' était employé dans Vim 5.x pour fixer l'encodage utilisé
partout dans Vim. C'était plutôt étrange, car c'était une option locale à un
tampon qui s'appliquait à tous les tampons. Elle ne pouvait pas différer d'un
tampon à l'autre, parce qu'elle modifiait la façon dont le texte était
interprété dans tous les tampons.
   Elle est à présent utilisée pour l'encodage du fichier relatif au tampon.
Si vous fixez 'fileencoding' malgré tout, il est probable qu'il soit recouvert
par l'encodage détecté à partir de 'fileencodings', c'est donc « généralement
sans risque ».

L'événement d'autocommande EncodingChanged sert de nouveau nom pour
FileEncoding.


DIGRAMMES MODIFIÉS					*digraphs-changed*

Les digrammes par défaut correspondent à présent à la RFC1345. C'est un
changement notable par rapport à Vim 5.x. |digraphs|


DÉTECTION DU TYPE DE FICHIER MODIFIÉ		*filetypedetect-changed*

La détection du type de fichier utilisait précédemment le groupe
d'autocommandes "filetype". C'était une source de confusion avec le nom
d'événement FileType (la casse étant ignorée). Ce groupe est à présent nommé
"filetypedetect". Le groupe "filetype" est toujours reconnu, mais s'il est
utilisé, les autocommandes ne seront pas supprimées par ":filetype off".
   Le support de 'runtimepath' rend désormais les mécanismes "myfiletypefile"
et "mysyntaxfile" obsolètes. Il sont toujours supportés pour compatibilité
ascendante.

La liaison entre l'événement FileType et la configuration de l'option 'syntax'
était précédemment assurée via le groupe d'autocommandes "syntax". C'était une
source de confusion avec le nom d'événement Syntax. Ce groupe est présent
nommé "syntaxset".

Les fichiers de syntaxe distribués ne contiennent désormais plus "syntax
clear". Cela permet de les inclure sans problème les uns dans les autres. La
syntaxe est à présent effacée lorsque l'option 'syntax' est fixée (par une
autocommande ajoutée depuis "synload.vim"). Cela permet l'effacement de la
syntaxe courante quand la valeur de 'syntax' ne correspond à aucun fichier de
syntaxe. Auparavant, la syntaxe courante était conservée.


TAMPONS NON LISTÉS INTRODUITS				*new-unlisted-buffers*

Il existe maintenant une différence entre les tampons qui n'apparaissent pas
dans la liste des tampons et ceux qui sont vraiment absents de cette liste.
Les commandes comme ":ls", ":bnext", ":blast" et le menu Tampons ignoreront
les tampons absents de la liste des tampons. |unlisted-buffer|
   L'option 'buflisted' permet de faire apparaître/disparaître un tampon de la
liste des tampons.

Plusieurs commandes qui ajoutaient précédemment un tampon dans la liste des
tampons créent à présent un tampon non listé. Cela signifie que ":bnext" et
":ball" ne trouveront pas ces fichiers jusqu'à ce qu'il soient réellement
édités. Par exemple, les tampons utilisés pour le fichier alternatif avec
":write fich" et ":read fich".
   D'autres commandes qui auparavant supprimaient complètement un tampon se
contentent maintenant de le retirer de la liste des tampons. Certaines
commandes qui se basaient auparavant sur l'absence d'un tampon risquent
d'échouer. C'était par exemple le cas dans l'un des tests automatiques, où une
commande ":bdelete" dans une autocommande entraînait l'échec d'une commande
ultérieure. |:bwipeout| peut être utilisé pour l'ancienne signification de
":bdelete".

L'événement d'autocommande BufDelete est à présent déclenché lorsqu'un tampon
est retiré de la liste des tampons. L'événement BufCreate n'est déclenché que
lorsqu'un tampon (nouvellement créé ou existant) est ajouté à la liste des
tampons. BufAdd sert de nouveau nom pour BufCreate.
   Le nouvel événement BufNew sert lors de la création d'un tampon quelconque
et BufWipeout pour la suppression effective d'un tampon.

Pour le complètement en mode Insertion, seuls les tampons de la liste des
tampons sont utilisés. Ajoutez le drapeau 'U' à l'option 'complete' pour que
le complètement utilise aussi les tampons non listés.

Les tampons non listés ne sont pas enregistrés dans un fichier viminfo.


CTRL-U EN MODE LIGNE-DE-COMMANDE MODIFIÉ		CTRL-U-changed">*CTRL-U-changed*

L'utilisation CTRL-U sur la ligne de commande effaçait précédemment la ligne
entière. La plupart des shells ne suppriment en fait que les caractères
précédant le curseur. C'est maintenant ce que fait Vim. (Steve Wall)

Vous pouvez obtenir l'ancien comportement en utilisant "CTRL-E CTRL-U" :
	:cnoremap <C-U> <C-E><C-U>


DÉPART DE `ctags`					*ctags-gone*

`ctags` ne fait désormais plus partie de la distribution de Vim. C'est
devenu un projet autonome, diffusé séparément.
   Vous trouverez `ctags` sur : "http://ctags.sf.net/".


DOCUMENTATION RÉORGANISÉE				*documentation-6*

La documentation a été réorganisée ; un élément ne sera peut-être pas présent
là où vous l'auriez trouvé dans Vim 5.x.
- Le Manuel de l'utilisateur a été ajouté, certains éléments du Manuel de
  référence ayant été transférés en son sein.
- La mini-référence constitue désormais un fichier séparé (afin de pouvoir
  être imprimée).

Les exemples dans la documentation étaient précédemment marqués par un '>'
dans la première colonne de chaque ligne. Cela rendait le copier/coller
difficile. À présent, il y a un unique '>' avant l'exemple, et la fin est
marquée par un '<' ou un non-blanc dans la première colonne. C'est également
plus lisible sans surbrillance.

'helpfile' n'est plus utilisé pour trouver le fichier de marqueurs de l'aide.
Cela permet à chaque utilisateur d'ajouter ses propres fichiers d'aide (p.
ex., pour les greffons).


SÉLECTION AMODALE ET PRESSE-PAPIERS		*modeless-and-clipboard*

La sélection amodale est utilisée pour sélectionner du texte quand le mode
Visuel ne peut pas être utilisé, par exemple lors de l'édition de la ligne de
commande ou à une invite Plus.
   Dans Vim 5.x, la sélection amodale était toujours utilisée. Sur MS-Windows,
cela entraînait l'écrasement du presse-papiers, sans possibilité de l'éviter.
La sélection amodale obéit à présent aux drapeaux 'a' et 'A' de 'guioptions',
et à "autoselect" et "autoselectml" dans 'clipboard'. Par défaut, il n'y a pas
de copie automatique sur MS-Windows. Utilisez la commande |c_CTRL-Y| pour
copier manuellement la sélection.

Pour revenir à l'ancien comportement, faites ceci :
	:set clipboard^=autoselectml guioptions+=A


INCOMPATIBILITÉS MINEURES				*incomp-small-6*

'backupdir', 'cdpath', 'directory', 'equalprg', 'errorfile', 'formatprg',
'grepprg', 'helpfile', 'makeef', 'makeprg', 'keywordprg', 'cscopeprg',
'viminfo' et 'runtimepath' ne peuvent désormais plus être fixés dans une ligne
de mode, pour accroître la sécurité.

'_' supprimé dans la valeur par défaut de 'breakat' : il est couramment
utilisé dans les mots-clés.

'mousehide' est activé par défaut, cela convient à la plupart des gens.

Le binaire pour Amiga est à présent toujours compilé en version « étendue ».
L'archive binaire "big" n'existe désormais plus.

Les éléments "[RO]", "[+]", "[help]", "[Preview]" et "[filetype]" de la ligne
d'état n'ont désormais plus de blanc initial.

Systèmes non-Unix : lors de l'expansion des jokers pour les arguments de Vim,
'suffixes' n'est plus utilisé. Cela fonctionne désormais comme si le shell
avait étendu les arguments.

Les options 'lisp', 'smartindent' et 'cindent' ne sont pas désactivées lorsque
'paste' est activé. L'auto-indentation est désactivé quand 'paste' est activé,
l'indentation manuelle avec "=" fonctionne toujours.

Quand une mise en forme avec "=" utilise 'cindent' ou 'indentexpr' et qu'il
n'y a pas de modification dans l'indentation, cela n'est pas considéré comme
un changement ('modified' n'est pas activé et l'annulation est impossible).

L'option 'modified' est activée dans un tampon quand la valeur de
'fileencoding' ou de 'fileformat' est modifiée. Cela permet d'éviter
d'abandonner ce tampon en perdant les modifications afférentes.

L'entrée de menu "Enregistrer sous" édite désormais le fichier qui vient
d'être enregistré. C'est ce qu'attendent la plupart des gens.

Un tampon pour un répertoire n'est désormais plus ajouté au menu Tampons.

<Return> a été renommé <Enter>, c'est le nom qui figure sur la plupart des
claviers. L'invite |hit-return| devient donc |hit-enter| [N.D.T. : cela ne
change rien pour la traduction française, qui utilisait indépendamment
« invite Appuyez-sur-entrée »].
   <Enter> peut être mappé exactement comme <CR> ou <Return>.

L'option 'viminfo' vaut désormais '50,"50,h par défaut lorsque 'compatible'
n'est pas activé. La plupart des gens souhaitaient utiliser cela, mais il leur
fallait fixer eux-même l'option, ce qui n'est pas trivial.

Après l'utilisation de ":colder", les nouvelles listes d'erreurs sont
écrasées. Cela permet d'utiliser ":grep" comme pour naviguer dans une
arborescence. Utilisez ":cnewer 99" pour obtenir l'ancien comportement.

Les motifs de 'errorformat' ignoraient parfois la casse (MS-Windows) et
parfois pas (Unix). Désormais, la casse est toujours ignorée. Ajoutez "\C" au
motif pour respecter la casse.

La version Dos 16 bits est à présent compilée sans la fonctionnalité +listcmds
(commandes de manipulation de la liste des tampons). Ces commandes ne sont pas
utilisées souvent et il est nécessaire de réduire la taille de l'exécutable.

'sessionoptions' inclut à présent "curdir" par défaut. Cela signifie que la
restauration d'une session entraînera la restauration du répertoire courant,
au lieu d'aller au répertoire où se situe le fichier de session.

Auparavant, le chargement d'une session supprimait tous les tampons et toutes
les marques. La liste des tampons est maintenant conservée, cela ne devrait
pas faire de différence si les tampons déjà existant restent présents.
   Quand la liste des arguments était vide, ":argdel *" provoquait un message
d'erreur.

Le motif de recherche issu d'un saut vers un marqueur n'est plus mémorisé dans
l'historique.

Le groupe de surbrillance "SpecialKey" est utilisé pour les caractères non
imprimables au lieu de "NonText". Le principe est d'utiliser "SpecialKey" pour
le texte non imprimable ou n'importe quel texte à afficher différemment des
caractères dans le fichier, et "NonText" pour les caractères qui n'existent
pas vraiment dans le fichier.

Motif utilise à présent les couleurs par défaut du système pour le menu et les
ascenseurs. Ils étaient précédemment en gris. Il est toujours possible de
modifier ces couleurs avec les commandes ":highlight" et les ressources.

La mise en forme de texte avec "gq" coupe un paragraphe sur une ligne blanche
non-vide. Auparavant, la ligne était supprimée, ce qui n'était pas très utile.

La commande ":normal" ne bloque plus quand son argument est incomplet.
Auparavant, Vim attendait que des caractères supplémentaires soient tapés,
sans rafraîchir l'affichage. Maintenant, il se comporte comme si <Echap> était
tapé.

Les icônes de la barre d'outils ne sont désormais plus recherchées dans
"$VIM/bitmaps" mais dans les répertoires "bitmaps" de 'runtimepath'.

Les menus du mode Lignecmd sont à présent utilisés pour l'invite
Appuyez-sur-entrée à la place des menus du mode Normal. Cela fonctionne
généralement mieux et permet d'utiliser le menu Copier de sorte que CTRL-Y
copie la sélection amodale.

L'entrée de menu "Sélectionner police..." a été déplacée du menu Fenêtre au
menu Edition, avec tous les autres réglages du même type.

La valeur par défaut de 'isfname' inclut davantage de caractères pour que "gf"
fonctionne mieux.

La licence OPL ("Open Publication License") est dorénavant utilisée pour toute
la documentation. C'était la moindre des choses compte tenu des parties issues
du livre sur Vim, également publié sous OPL. L'inconvénient est qu'on ne peut
pas obliger une personne qui vend des copies des manuels à donner pour
l'Ouganda.

Après  "ayy  ne pas laisser  ""yy  ou  :let @" = val  écraser le registre "a.
Utilisez le registre sans nom à la place.

MS-DOS : un motif "*.*" correspondait précédemment aussi à un nom de fichier
sans point. C'était incohérent avec les autres versions.

En mode Insertion, "CTRL-O CTRL-\ CTRL-N {cmd}" reste en mode Normal.
Auparavant il faisait revenir en mode Insertion, ce qui était contradictoire
avec la signification de "CTRL-\ CTRL-N", qui est censé ramener en mode Normal
(particulièrement dans ":amenu").

L'utilisation de commandes ":" après un opérateur est maintenant permise. Cela
peut servir à créer une nouvelle commande de mouvement. De fait, ":"
n'interrompt plus un opérateur dont la saisie est en cours.

Pour Amiga, l'argument "-d {periph}" était autorisé. À présent, si compilé
avec la fonctionnalité +diff, cela n'est plus permis. Utilisez "-dev {periph}"
à la place. |-dev|

Les mappages par défaut pour <S-Insert> en mode Insertion insèrent désormais
le texte littéralement, pour éviter les effets de bord causés par des
caractères spéciaux (comme la contre-oblique).

L'utilisation de ":confirm" s'appliquait au reste de la ligne de commande.
Elle s'applique à présent à la première commande qui la suit. Ainsi,
":confirm if x | edit | endif" ne fonctionne plus, utilisez plutôt
":if x | confirm edit | endif". C'était l'intention originale, qui fut déviée
à cause d'une bogue.

==============================================================================
Nouvelles fonctionnalités

REPLIAGE						*new-folding*

Vim est à présent capable d'afficher un tampon avec du texte replié. Cela
permet d'obtenir rapidement un aperçu de la structure du fichier. Il est
également possible de couper/copier/coller du texte replié, par exemple pour
déplacer une fonction à une autre position.

Il existe tout un ensemble de nouvelles commandes et options relatives aux
replis. Voir |folding|.


PARTAGES VERTICAUX DE FENÊTRES				*new-vertsplit*

Les fenêtres peuvent aussi être partagées verticalement. Cela permet d'avoir
des fenêtres côte à côte. C'est notamment très pratique pour comparer deux
fichiers similaires (voir à ce sujet |new-diff-mode|). L'option 'scrollbind'
permet de synchroniser le défilement.

Ces commandes permettent d'opérer un partage vertical :
	:vsplit  ou  "CTRL-W v"  ou  "CTRL-W CTRL-V"	|:vsplit|
	:vnew						|:vnew|
	:vertical {cmd}					|:vertical|
La dernière est un modificateur, qui agit sur n'importe quelle commande de
partage de fenêtre. Par exemple
	:vertical stag zorglub
partagera la fenêtre verticalement et sautera au marqueur "zorglub" dans la
nouvelle fenêtre.

Il est possible de se déplacer horizontalement d'une fenêtre à l'autre avec
les commandes |CTRL-W_h| et |CTRL-W_l|. Les commandes |CTRL-W_k| et |CTRL-W_j|
ont été modifiées pour permettre de sauter à la fenêtre au-dessus/en dessous
de la position du curseur.

Les partages horizontaux et verticaux peuvent être mélangés à votre guise.
Le redimensionnement des fenêtres peut s'effectuer simplement avec la souris,
il suffit de placer le pointeur sur une ligne d'état ou de séparation
verticale et de la tirer. Dans l'IHM graphique, le pointeur de la souris prend
une forme spéciale pour indiquer quand vous pouvez tirer une ligne d'état ou
de séparation verticale.

Pour redimensionner des fenêtres partagées verticalement, utilisez les
commandes |CTRL-W_<| et |CTRL-W_>|. Pour donner à une fenêtre une largeur
maximale, utilisez la commande "CTRL-W |" |CTRL-W_bar|.

Pour forcer une nouvelle fenêtre à utiliser toute la largeur/hauteur de la
fenêtre Vim, deux modificateurs sont disponibles :
	:topleft {cmd}		La nouvelle fenêtre apparaît en haut avec
				toute la largeur ou à gauche avec toute la
				hauteur.
	:botright {cmd}		La nouvelle fenêtre apparaît en bas avec toute
				la largeur ou à droite avec toute la hauteur.
Ils peuvent être combinés avec ":vertical" pour obliger à utiliser des
partages verticaux :
	:vert bot dsplit DEBUG
Ceci ouvrira une fenêtre le plus à droite possible, occupant toute la hauteur
de la fenêtre Vim, avec le curseur sur la première définition de "DEBUG".
   La fenêtre d'aide est ouverte en haut, comme si ":topleft" était utilisé,
si la fenêtre courante fait moins de 80 caractères de large.

Plusieurs options permettent de définir les préférences pour les fenêtres
partagées verticalement. Elles fonctionnent de façon similaires à leurs
équivalents horizontaux :
	HORIZONTAL	VERTICAL  ~
	'splitbelow'	'splitright'
	'winheight'	'winwidth'
	'winminheight'	'winminwidth'
Il est possible de fixer 'winminwidth' à zéro, afin que les fenêtres
momentanément inutilisées occupent le moins de place possible tout en restant
ouvertes.

La nouvelle option 'eadirection' indique quand 'equalalways' s'applique :
	:set eadirection=both		dans toutes les directions
	:set eadirection=ver		égalise les hauteurs des fenêtres
	:set eadirection=hor		égalise les largeurs des fenêtres
Vous pouvez ainsi préserver les tailles des fenêtres à votre guise lors d'un
partage.

Comme les fenêtres peuvent devenir très étroites avec les partages verticaux,
les lignes de texte dépasseront souvent. L'option 'sidescrolloff' a été
ajoutée pour garder du contexte à gauche et à droite du curseur. L'option
'listchars' a été étendue avec l'élément "precedes", pour afficher par exemple
un '<' quand il y a du texte qui dépasse de l'écran. (Utz-Uwe Haus)

L'argument de ligne de commande "-O" a été ajouté : similaire à "-o" mais
partage les fenêtres verticalement. (Scott Urban)

Commandes ajoutées pour déplacer la fenêtre courante tout en haut
("CTRL-W K"), à droite ("CTRL-W J"), à gauche ("CTRL-W H") ou en bas
("CTRL-W L"). Après son déplacement, la fenêtre utilise la totalité de la
hauteur/largeur de l'écran.

Lorsqu'il n'y a pas assez de place dans la ligne d'état pour à la fois le nom
de fichier et la règle, utilise jusqu'à la moitié de la largeur impartie pour
la règle. Utile pour des fenêtres étroites.


MODE DIFF	 					*new-diff-mode*

En mode diff, Vim affiche les différences entre deux, trois ou quatre
fichiers. Le repliage est utilisé pour masquer les parties des fichiers qui
sont identiques. La surbrillance permet de mettre en valeur les lignes
supprimées ou changées. Voir |diff-mode|.

Le plus simple pour lancer le mode diff est d'invoquer Vim avec `vimdiff fich1
fich2`. Une page de manuel a été créée pour `vimdiff`.

Si Vim est déjà démarré, la commande |:diffsplit| lance le mode diff pour le
fichier courant et un autre fichier. La commande |:diffpatch| lance le mode
diff en utilisant le fichier courant et un fichier de rustine. La commande
|:diffthis| lance le mode diff pour la fenêtre courante.

Les différences peuvent être corrigées avec les commandes |:diffget| et
|:diffput|.

- L'option 'diff' active le mode diff dans une fenêtre.
- La commande |:diffupdate| met les différences à jour.
- L'option 'diffopt' change la façon dont les différences sont affichées.
- L'option 'diffexpr' permet de définir comment les différences doivent être
  obtenues.
- L'option 'patchexpr' permet de définir comment une rustine doit être
  appliquée à un fichier.
- La méthode de repliage "diff" est ajoutée. Lors de l'ouverture d'une fenêtre
  pour le mode diff, 'foldlevel' est fixé à zéro et 'foldenable' est activé,
  pour fermer les replis.
- Les groupes de surbrillance DiffAdd, DiffChange, DiffDelete et DiffText sont
  ajoutés, pour définir la coloration utilisée pour les différences. Les
  valeurs par défaut sont assez laides...
- Unix : `vimdiff` est créé comme un lien symbolique par `make install`.
- Le script "vimdiff.vim", désormais obsolète, est retiré de la distribution.
- Les commandes "[c" et "]c" sont ajoutées pour se déplacer au changement
  suivant/précédent en mode diff.


EVIM : CLIQUER-TAPER					*new-evim*

eVim signifie "Easy Vim" [« Vim facile »]. Il s'agit d'un programme séparé,
mais qui peut aussi être lancé avec `vim -y`.

Il lance Vim avec 'insertmode' activé pour permettre une édition de type
« cliquer-taper ». Le script $VIMRUNTIME/evim.vim est utilisé pour ajouter des
mappages et fixer des options afin d'obtenir un comportement le plus proche
possible de Notepad. Cela ne s'adresse qu'aux personnes qui ne supportent pas
de travailler avec deux modes.

eView se comporte de façon similaire, mais en mode lecture seule.

Dans l'IHM graphique, CTRL-C n'interrompt à présent plus qu'une commande qui
s'exécute, pas une saisie en attente. Cela permet d'utiliser CTRL-C pour
copier du texte dans le presse-papiers.


MANUEL DE L'UTILISATEUR					*new-user-manual*

Un Manuel de l'utilisateur a été ajouté. Il est organisé autour des tâches
d'édition. Il peut se lire comme un livre, du début à la fin. Il constitue une
bonne base pour les débutants qui veulent apprendre Vim. Il aide aussi tous
ceux qui souhaitent se familiariser avec les fonctionnalités les plus utiles.
Il est bien plus facile à lire que le Manuel de référence, mais il omet
volontairement de nombreux détails. Voir |user-manual|.

Le Manuel de l'utilisateur reprend certaines parties du livre de Steve
Oualline sur Vim |frombook|. Il est publié sous licence OPL
|manual-copyright|.

Lorsque la coloration syntaxique n'est pas active, les caractères marquant les
exemples ('>' et '<') et les lignes d'en-tête ('~') dans les fichiers d'aide
sont remplacés par un espace.

Quand la fenêtre d'aide est fermée, la disposition des fenêtres est restaurée
telle qu'elle était avant son ouverture, si cette disposition n'a pas été
modifiée entre temps.
   Quand la fenêtre d'aide est ouverte, elle est placée en haut de la fenêtre
Vim si la fenêtre courante fait moins de 80 caractères et n'occupe pas toute
la largeur.


INDENTATION FLEXIBLE	 				*new-indent-flex*

L'indentation automatique est désormais utilisable pour n'importe quel
langage. Elle fonctionne grâce à un script Vim, ce qui la rend très souple.

La commande ":filetype indent on" active l'utilisation des scripts
d'indentation fournis. Voir à ce sujet le Manuel de l'utilisateur : |30.3|.

L'option 'indentexpr' est évaluée pour obtenir l'indentation d'une ligne.
L'option 'indentkeys' indique quand déclencher la réindentation de la ligne
courante. Normalement, ces options sont fixées depuis un script d'indentation.
   Tout comme les fichiers de syntaxe, les scripts d'indentation sont appelés
à être créés et maintenus par de nombreuses personnes.


MOTIFS DE RECHERCHE ÉTENDUS				*new-searchpat*

Il est désormais possible de correspondre à plusieurs lignes avec un motif.
(en partie par Loic Grenie)

Nouveaux éléments multi-lignes pour les motifs de recherche :
-------------------------------------------------------------
\n		correspond à une fin-de-ligne, également dans []
\_[]		correspond aux caractères de la plage ou à une fin-de-ligne
\_x		correspond à la classe de caractères ou à une fin-de-ligne
\_.		correspond à n'importe quel caractère ou à une fin-de-ligne
\_^		correspond à un début-de-ligne, n'importe où dans l'exprat
\_$		correspond à une fin-de-ligne, n'importe où dans l'exprat

Autres nouveaux éléments pour les motifs de recherche :
-------------------------------------------------------
\c		ignore la casse pour le motif entier
\C		respecte la casse pour le motif entier
\m		'magic' activé pour le motif suivant
\M		'magic' désactivé pour le motif suivant
\v		le motif suivant est « très 'magic' »
\V		le motif suivant est « très 'nomagic' »

\@!		ne correspond pas à l'atome qui précède
		   Exemple : "zorg\(lub\)\@!" correspond à "zorg " mais pas à
		   "zorglub".
\@=		correspond à l'atome qui précède, mais avec une largeur nulle
		   Exemple : "zorg\(lub\)\@=" correspond à "zorg" dans
		   "zorglub".
\@<!		ne correspond pas à l'atome qui précède avant la position
		   courante
\@<=		correspond à l'atome qui précède avant la position courante
\@>		correspond à l'atome qui précède comme sous-expression

\&		correspond uniquement si les branches précédentes et suivantes
		   correspondent

\%[]		correspond optionnellement à une liste d'atomes
		   Exemple : "end\%[if]" correspond à "end", "endi" et
		   "endif".
\%(\)		comme \(\), mais sans créer de post-référence ; on peut donc
		   en utiliser autant qu'on veut, alors que les paires de \(\)
		   sont limitées à neuf
\%^		correspond à un début-de-fichier (Chase Tingley)
\%$		correspond à une fin-de-fichier (Chase Tingley)
\%#		correspond à la position du curseur (Chase Tingley)
\?		exactement comme "\=", mais inutilisable dans une commande "?"

\%23l		correspond dans la ligne 23
\%<23l		correspond avant la ligne 23
\%>23l		correspond après la ligne 23
\%23c, \%<23c, \%>23c   correspond dans/avant/après la colonne 23
\%23v, \%<23v, \%>23v	correspond dans/avant/après la colonne virtuelle 23

Pour les éléments de syntaxe :
------------------------------
\z(...\)	définit la correspondance d'une référence externe (dans un
		   motif "start" de région) (Scott Bigham)
\z1 - \z9	correspond à une référence externe (dans un motif "skip" ou
		   "end" de région) (Scott Bigham)

\zs		utilise la position comme début du motif
\ze		utilise la position comme fin de motif

La limite qui n'autorisait à correspondre que jusqu'à 32 767 fois avec *, \+,
etc., est à présent supprimée.

Les correspondances avec des caractères multi-octets sont supportées. (en
partie par Muraoka Taro)
   "\<" et "\>" ont été modifiés pour fonctionner avec l'UTF-8. (Muraoka Taro)


SUPPORT DE L'UTF-8						*new-utf-8*

Vim peut désormais éditer des fichiers encodés en UTF-8. Il est possible
d'utiliser des caractères allant jusqu'à 31 bits, mais seuls les caractères de
16 bits sont affichés. Vous pouvez saisir jusqu'à deux caractères de
composition, ils surchargent le caractère précédent. Les caractères de
largeur double sont également supportés. Voir |UTF-8|.

Les encodages UCS-2, UCS-4 et UTF-16 sont eux aussi supportés, ils sont
convertis en UTF-8 en interne. Il est possible d'éditer des fichiers Unicode
dans un environnement latin1. Les autres encodages sont convertis avec iconv()
ou un convertisseur externe spécifié par 'charconvert'.

Le support multi-octets engendre beaucoup de nouveaux éléments :
- Option 'encoding' ajoutée : spécifie l'encodage de caractères utilisé en
  interne par Vim. Il peut s'agir de n'importe quel encodage 8-bits, 2-octets
  ou Unicode.
  Elle est initialisée à partir de l'environnement lorsqu'une valeur supportée
  est trouvée.
- Ajout de 'fileencoding' et 'fileencodings' : spécifient l'encodage de
  caractères dans un fichier, similaires à 'fileformat' et 'fileformats'.
  Si 'encoding' vaut "utf-8" et 'fileencodings' "utf-8,latin1", cela fera
  passer automatiquement en latin1 lorsqu'un fichier ne contient pas d'UTF-8
  valide.
- Option 'bomb' ajoutée et support de la détection d'une marque d'encodage
  (BOM) en début de fichier. Cela peut être utilisé en conjonction avec
  "ucs-bom" dans 'fileencodings' pour détecter automatiquement un fichier
  Unicode s'il débute par une marque d'encodage. C'est particulièrement utile
  sur MS-Windows (NT et 2000), qui utilise des fichiers ucs-2le avec une
  marque d'encodage (p. ex., lors d'une exportation du registre).
- Option 'termencoding' ajoutée : spécifie l'encodage utilisé par le
  terminal. Utile pour basculer Vim en mode UTF-8 alors que vous utilisez une
  région linguistique non-Unicode :
	:let &termencoding = &encoding
	:set encoding=utf-8
- Lorsque 'viminfo' contient le drapeau 'c', le fichier viminfo est converti
  de la valeur de 'encoding' utilisée lors de l'enregistrement du fichier à la
  valeur courante.
- Commande ":scriptencoding" ajoutée : convertit les lignes dans un script
  sourcé de l'encodage spécifié à la valeur courante de 'encoding'. Utile pour
  les fichiers de menus.
- Option 'guifontwide' ajoutée pour spécifier une police pour les caractères
  de largeur double.
- Support du coréen pour la détection des classes de caractères. Correction de
  cls() dans "search.c". (Chong-Dae Park)
- Win32 : saisie des caractères multi-octets sans IME. (Alexander Smishlajev)
- Win32 avec MinGW : compilation avec la bibliothèque iconv. (Ron Aaron)
- Win32 avec MSVC : chargement dynamique de la bibliothèque iconv.dll.
  (Muraoka Taro)
- Possibilité de compiler une version avec le support de iconv et des
  caractères multi-octets avec Borland 5.5. (Yasuhiro Matsumoto)
- Option 'delcombine' ajoutée : efface les caractères de composition
  séparément. (Ron Aaron)
- La fonctionnalité "xfontset" n'est plus requise pour "xim". Ce sont
  désormais deux fonctionnalités indépendantes.
- XIM : active XIM lors de la saisie d'une langue (en mode Insertion, pour les
  commandes de recherche et les commandes "f" ou "r"). Désactive XIM quand une
  commande est saisie en mode Normal.
- Quand XIM est actif, affiche "XIM" dans le message de 'showmode'. (Nam
  SungHyun)
- Support de "CursorIM" pour XIM. (Nam SungHyun)
- Drapeau 'm' ajouté à 'formatoptions' : lorsque des lignes sont coupées,
  autorise la césure sur chaque caractère multi-octets, pas seulement sur les
  espaces.
- ":syntax keyword" fonctionne à présent avec les caractères multi-octets.
- Support pour l'inversion de casse des caractères Unicode et leur
  comparaison. (basé sur une rustine de Raphael Finkel)
  La commande "~" utilisée sur des caractères multi-octets qui possèdent une
  troisième casse (« casse de titre ») peut désormais faire basculer entre les
  trois casses. (Raphael Finkel)

Les caractères multi-octets sont désormais supportés pour définir des
digrammes.
   Les digrammes de la RFC1345 ont été ajoutés pour l'Unicode.
   La plupart des commandes du mode Normal qui acceptent un caractère en
argument, comme "r", "t" et "f", acceptent maintenant les digrammes. Le
drapeau 'D' de 'cpoptions' permet de désactiver cela pour rester compatible
Vi.

Ajout des mappages de langue et de l'option 'keymap' pour permettre la saisie
des caractères multi-octets :
- Ajout de la famille de commandes ":lmap" : définit des mappages utilisés
  lors de la saisie de caractères dans la langue du texte. Vaut également pour
  "r", "t", etc. En mode Insertion et Ligne-de-commande, CTRL-^ permet
  d'activer/désactiver l'utilisation de ces mappages.
  CTRL-^ active/désactive également l'utilisation d'une méthode de saisie
  lorsque aucun mappage de langue n'est présent. Cela permet de changer de
  méthode au cours d'une saisie.
- L'argument "<char-123>" passé à ":map" permet de spécifier la valeur octale,
  décimale ou hexadécimale d'un caractère.
- Option 'keymap' ajoutée : charge un fichier de codage clavier. ":lnoremap"
  est utilisé pour définir les mappages pour le codage clavier. La nouvelle
  commande ":loadkeymap" est utilisée dans le fichier de codage clavier.
- Drapeau 'k' ajouté à 'statusline' : valeur de "b:keymap_name" ou 'keymap' si
  cette option est utilisée. Utilise "<langue>" si aucun codage clavier n'est
  chargé et que des mappages de langue sont définis. Affiche également ce
  texte dans la ligne d'état par défaut.
- Options 'iminsert' et 'imsearch' ajoutées : permettent d'activer
  l'utilisation des mappages de langue ou de la méthode de saisie. (Muraoka
  Taro)
  Option 'imcmdline' ajoutée : si activée, la méthode de saisie est toujours
  activée au commencement de l'édition de la ligne de commande. Utile si une
  méthode de saisie utilise des touches mortes pour l'accentuation des
  caractères.
  Option 'imactivatekey' ajoutée pour mieux contrôler XIM. (Muraoka Taro)
- Lors de la saisie d'un mappage qui n'est pas encore fini, le dernier
  caractère est affiché sous le curseur en mode Insertion et
  Ligne-de-commande. Cela rend bien pour les caractères morts.
- L'option 'langmap' reconnaît désormais les caractères multi-octets. Mais les
  mappages ne fonctionnent que pour les caractères 8-bits. C'est utile quand
  vous utilisez l'UTF-8.
- Un curseur différent est utilisé selon que les mappages ":lmap" sont actifs
  ou non. Il est possible de spécifier deux groupes de surbrillance pour
  chaque item de 'guicursor'. Par défaut, "lCursor" et "Cursor" sont
  identiques, l'utilisateur doit définir les couleurs qu'il souhaite utiliser.
  Utilisation de couleurs différentes pour le curseur pour la saisie de
  l'hangul (notamment). (Sung-Hyun Nam)
- 'showmode' affiche "(langue)" quand les mappages de langue sont actifs.
- UTF-8 : "r" fonctionne à présent avec un mappage de langue qui inclut un
  caractère de composition. Cela marche aussi pour "f", qui peut désormais
  trouver un caractère qui inclut un caractère de composition.

Autres ajouts liés aux caractères multi-octets :
- Support des caractères sur deux octets de largeur simple pour l'euc-jp
  (caractères qui débutent par 0x8E). Ajout de ScreenLines2[] pour enregistrer
  le deuxième octet.


SUPPORT MULTILINGUE					*new-multi-lang*

Les messages utilisés par Vim peuvent être traduits. Plusieurs traductions
sont disponibles. gettext est utilisé pour ce faire. Il permet l'ajout d'une
traduction sans avoir à recompiler Vim. |multi-lang| (en partie par Marcin
Dalecki)

Les fichiers de traduction sont placés dans le répertoire "src/po". Le fichier
"src/po/README.txt" contient quelques instructions pour effectuer une
traduction.

Des traductions sont également disponibles pour les menus. Elles utilisent la
nouvelle commande |:menutranslate|. Les traductions sont placées dans le
répertoire de support "lang". Cela permet à un utilisateur d'ajouter une
traduction.

La commande |:language| est ajoutée pour fixer la langue (région
linguistique) pour les messages, la date et l'encodage de caractères. Cela
permet de modifier les langues utilisées par Vim sans toucher aux valeurs
externes.

Le tutoriel de Vim peut utiliser différentes langues. (Eduardo Fernandez)
   Des traductions espagnole (Eduardo Fernandez), italienne (Antonio Colombo),
japonaise (Yasuhiro Matsumoto) et française (Adrien Beau) sont disponibles.
   "vimtutor.bat" ajouté : ce script permet de lancer Vim en ouvrant une copie
du tutoriel sur MS-Windows. (Dan Sharp)

- Variable "v:lang" ajoutée pour permettre d'accéder à la valeur des
  paramètres linguistiques courants. (Marcin Dalecki)
  Idem pour "v:lc_time" et "v:ctype".
- La traduction des dialogues utilisés par les menus est désormais possible.
  Des variables globales "menutrans_" sont utilisées pour cela. ":menutrans
  clear" les supprime.
- Problème "broken locale" XXX résolu. (Marcin Dalecki)
- Ne pas utiliser de noms de couleurs dans les icônes, mais plutôt des valeurs
  RVB. Les noms pourraient être traduits.
- Win32 : support de Global IME ajouté. (Muraoka)
- Win32 : support du chargement dynamique d'IME ajouté.
- ":messages" affiche dans sa sortie qui est le responsable actuel des
  messages ou de leur traduction. C'est utile pour savoir à qui s'adresser
  pour signaler une erreur.
- Argument --disable-nls ajouté pour `configure` : désactive l'utilisation de
  gettext(). (Sung-Hyun Nam)
- Support NLS ajouté pour Win32 avec le compilateur MinGW. (Eduardo Fernandez)
- Si disponible, appeler bind_textdomain_codeset() pour que gettext() traduise
  les messages dans la valeur de 'encoding'. Cela nécessite GNU gettext
  0.10.36 ou supérieur.
- Support gettext pour Win32 ajouté. Cela signifie que les messages seront
  traduits lorsque la région linguistique est définie et que "libintl.dll" est
  trouvé. (Muraoka Taro)
  Fonctionne aussi avec le compilateur MinGW. (Eduardo Fernandez)
  Détecter la langue et fixer $LANG en interne pour obtenir les messages
  traduits dans la langue désirée (si elle est supportée). Utiliser également
  $LANG pour sélectionner une langue. La variable "v:lang" possède une toute
  autre valeur.
- gvimext.dll modifié pour utiliser les messages traduits, si possible.
  (Yasuhiro Matsumoto)


SUPPORT DES GREFFONS					*new-plugins*

Pour rendre le chargement de scripts au démarrage de Vim vraiment simple, le
répertoire de support "plugin" peut être utilisé. Tous les fichiers "*.vim"
qu'il contient seront chargés automatiquement. Pour Unix, le répertoire
"~/.vim/plugin" est utilisé par défaut. L'option 'runtimepath' peut être
modifiée pour rechercher des greffons dans d'autres répertoires.
|load-plugins| |add-plugin|

La commande |:runtime| a été ajoutée pour charger un ou plusieurs fichiers
dans 'runtimepath'.

Greffons standards :
	netrw.vim	édition de fichiers via réseau |new-network-files|
	gzip.vim	édition de fichiers compressés
	explorer.vim	navigation dans les répertoires |new-file-browser|

Support pour les fichiers d'aide locaux ajouté. |add-local-help|
   Lors de la recherche des marqueurs d'aide, tous les fichiers "doc/tags"
dans 'runtimepath' sont utilisés.
   Commande ":helptags" ajoutée : génère un fichier de marqueurs pour un
répertoire d'aide.
   La première ligne de chaque fichier d'aide est automagiquement ajoutée à la
section « AJOUTS LOCAUX » du fichier "help.txt".

Argument <unique> ajouté pour la commande ":map" : n'ajoute un mappage que
s'il n'avait pas été défini auparavant.

Quand la valeur d'une option est affichée alors que 'verbose' est fixé, vous
obtiendrez un message indiquant où l'option a été fixée en dernier. C'est très
utile pour déterminer quel script a fixé la valeur.

La nouvelle commande |:scriptnames| donne la liste de tous les scripts qui ont
été sourcés.

IHM graphique : pour Athena, Motif et GTK+, les icônes de la barre d'outils
sont recherchées dans les répertoires "bitmaps" de 'runtimepath'. Cela vous
permet d'ajouter vos propres icônes.


GREFFONS DE TYPES DE FICHIERS				*new-filetype-plugins*

Un nouveau groupe de fichiers a été ajouté pour définir des paramètres
spécifiques à un type de fichier. Il peut s'agir d'options et de mappages qui
ne sont utilisés que pour une valeur particulière de 'filetype'.

Ces fichiers sont placés dans "$VIMRUNTIME/ftplugin". L'option 'runtimepath'
rend possible l'utilisation de plusieurs greffons en même temps : votre
greffon personnel, celui utilisé pour le système, celui inclus dans la
distribution de Vim, etc.

Pour que cela fonctionne correctement, plusieurs fonctionnalités ont été
ajoutées :
- Ajout des variables "s:", locales à un script. Cela évite que le nom entre
  en conflit avec des variables globales. Elles peuvent être utilisées dans le
  script et dans les fonctions, autocommandes et commandes utilisateur
  définies dans le script. Elles sont conservées entre deux invocations du
  même script. |s:var|
- Ajout de la valeur globale pour les options locales. Cette valeur est
  utilisée à l'ouverture d'un nouveau tampon ou à l'édition d'un nouveau
  fichier. La valeur d'une option fixée dans une ligne de mode ou pour un type
  de fichier spécifique n'est ainsi pas utilisée pour un autre tampon.
  ":set" fixe à la fois les valeurs locale et globale.
  ":setlocal" ne fixe que la valeur locale.
  ":setglobal" fixe ou affiche la valeur globale d'une option locale.
  ":setlocal name<" fixe une option locale à sa valeur globale.
- Ajout d'une valeur locale de tampon pour certaines options globales :
  'equalprg', 'makeprg', 'errorformat', 'grepprg', 'path', 'dictionary',
  'thesaurus', 'tags', 'include' et 'define'. Cela permet de fixer une valeur
  locale pour ces options globales, sans les rendre incompatibles.
- Ajout des mappages et abréviations locales à un tampon : ":map <buffer>".
- Dans un mappage, "<Leader>" permet d'obtenir obtenir la valeur de la
  variable "mapleader". Cela simplifie les mappages qui utilisent "mapleader".
  "<Leader>" vaut "\" par défaut. "<LocalLeader>" est similaire mais avec
  "maplocalleader". Il est destiné à être utilisé pour des mappages locaux à
  un tampon.
- Ajout de <SID> (ID script) pour définir des fonctions et mappages locales à
  un script.
- Ajout de l'argument <script> aux commandes ":noremap" et ":noremenu" : ne
  remappe que les mappages locaux de script. Évite que les mappages provenant
  d'autres scripts n'interfèrent, mais autorise l'utilisation des mappages
  définis dans le script.
- Les commandes utilisateur peuvent être locales à un tampon : ":command
  -buffer".

La nouvelle commande ":setfiletype" est utilisée dans les autocommandes de
détection du type de fichier, pour éviter que 'filetype' ne soit fixé
plusieurs fois.


EXPLORATEUR DE FICHIERS					*new-file-browser*

Lorsqu'un répertoire est édité, le greffon "explorer.vim" listera les
fichiers contenus dans ce répertoire. Pressez <Entree> sur nom de fichier pour
l'éditer. Pressez <Entree> sur un répertoire pour vous y déplacer.

D'autres actions sont possibles, comme l'ouverture d'un fichier dans la
fenêtre d'aperçu, le renommage ou l'effacement de fichiers.

Voir |file-explorer|.


ÉDITION DE FICHIERS VIA RÉSEAU				*new-network-files*

Les fichiers débutant par "scp://", "rcp://", "ftp://" et "http://" sont
reconnus comme des fichiers distants. Vim essaie d'accéder à ces fichiers par
le protocole indiqué. Pour "http://", seule la lecture est possible, pour les
autres, l'écriture est également supportée. Le greffon standard "netrw.vim"
est utilisé pour cela. |netrw|

Commande "gf" modifiée pour fonctionner sur un URL. Elle ne présuppose
désormais plus que le fichier est local à l'ordinateur (cela ne fonctionnait
souvent pas de toute façon, car le chemin complet était nécessaire). "test2"
a été ajusté dans cette optique.

L'utilisation d'un URL dans 'path' est autorisée. Cela permet à ":find
index.html" de fonctionner.

GTK+ : le dépôt d'un URL "http://" et "ftp://" dans Vim est autorisé. Le
greffon "netrw.vim" s'occupe du téléchargement du fichier. (MiKael Berthe)


FENÊTRE D'ÉDITION DE LA LIGNE DE COMMANDE		*new-cmdwin*

La fenêtre command-line permet d'éditer une ligne de commande avec les
commandes des modes Normal et Insertion. Lorsqu'elle est ouverte, elle
contient l'historique. Cela permet de copier des parties des lignes de
commandes précédentes. |cmdwin|

La fenêtre command-line peut être ouverte à partir de la ligne de commande
grâce à la séquence clavier définie par l'option 'cedit' (comme Nvi). Elle
peut aussi être ouverte directement depuis le mode Normal avec "q:", "q/" et
"q?".

L'option 'cmdwinheight' est utilisée pour spécifier la hauteur initiale de la
fenêtre.

En mode Insertion, "CTRL-X CTRL-V" permet de compléter une ligne de commande
Ex, de la même façon que sur la ligne de commande. C'est aussi très utile pour
écrire des scripts Vim !

De plus, il existe un « mode Ex amélioré ». On y entre quand Vim est invoqué
par `exim` ou `vim -E`, ainsi qu'avec la commande "gQ". Il fonctionne comme si
l'utilisation de ":" était répétée, avec la pleine édition et le complètement
de la ligne de commande. (Ulf Carlsson)


MODE DÉBOGAGE						*new-debug-mode*

En mode débogage, les scripts sourcés et les fonctions utilisateur peuvent
être exécutés ligne par ligne. Il est ainsi possible d'exécuter un bloc de
commandes en une seule fois ou pas à pas. |debug-mode|

Des points d'arrêts peuvent être placés pour interrompre l'exécution à une
ligne particulière dans un script ou une fonction utilisateur. |:breakadd|

Le mode débogage peut être activé avec ":debug {cmd}" pour voir ce qui se
passe lors de l'exécution de {cmd}. L'argument |-D| permet de lancer le mode
débogage au démarrage.


CURSEUR EN POSITION VIRTUELLE				*new-virtedit*

Option 'virtualedit' ajoutée : permet le positionnement du curseur à des
endroits où il n'existe en fait aucun caractère en mode Insertion, Visuel ou
pour tous les modes. (Matthias Kramm)
   C'est particulièrement utile en mode Visuel-bloc. Cela permet de
positionner le coin d'une zone n'importe où dans l'écran. (nombreuses
améliorations de Chase Tingley)


INTERFACE DÉBOGUEUR					*new-debug-itf*

Ces fonctionnalités ont été initialement conçues pour fonctionner avec Sun
Visual Workshop. (Gordon Prieur)
   Voir |debugger.txt|, |sign.txt| et |workshop.txt|.

Commande ":sign" ajoutée pour définir et placer des symboles. Ceux-ci peuvent
être représentés par deux caractères ASCII ou une icône. La ligne
correspondante peut être mise en surbrillance. Utile pour afficher des points
d'arrêts et la position courante du Compteur de Programme lors d'un débogage.

Commande |:wsverb| ajoutée pour exécuter des commandes du débogueur.

Support de l'évaluation par bulle : options 'balloondelay' et 'ballooneval'.

Argument "icon=" ajouté pour la commande ":menu". Permet de définir une icône
spécifique pour un élément de la barre d'outils.


COMMUNICATION ENTRE PLUSIEURS VIM			*new-vim-server*

Deux applications Vim peuvent désormais communiquer. Il est possible d'envoyer
des commandes de l'une à l'autre. Cela fonctionne pour X Window et MS-Windows.
|clientserver|

Utilisez "--remote" pour éditer des fichiers dans un Vim en cours d'exécution.
Utilisez "--remote-wait" pour faire la même chose et attendre que l'édition se
termine.
Utilisez "--remote-send" pour envoyer des commandes d'un Vim vers un autre.
Utilisez "--remote-expr" pour évaluer une expression dans un Vim distant.
Utilisez "--serverlist" pour lister les serveurs Vim actuellement disponibles
(uniquement sous X).
   Il existe également des fonctions pour communiquer entre le serveur et le
client. |remote_send()| |remote_expr()|

(La version X Window est l'oeuvre de Flemming Madsen, la version MS-Windows
celle de Paul Moore.)

Le nom du serveur de commandes est ajouté au titre de la fenêtre, afin que
vous puissiez voir le nom du serveur attaché à un Vim.

Le répertoire "OleVim" et les fichiers "SendToVim.exe" et "EditWithVim.exe"
sont supprimés de la distribution de Vim. Il est maintenant possible
d'utiliser `gvim --remote` et `gvim --remote-send`, ce qui est portable.

GTK+ : support pour lancer une application Vim dans une autre fenêtre ajouté.
L'argument --socketid est utilisé. (Neil Bird)


OPTIONS DE TYPE DE TAMPON				*new-buftype*

Options 'buftype' et 'bufhidden' ajoutées. Elles peuvent être fixées pour
définir différents types de tampons. Par exemple :
- 'buftype' = "quickfix" : tampon contenant la liste d'erreurs ;
- 'buftype' = "nofile" et 'bufhidden' = "delete" : tampon de brouillon qui
  sera détruit dès qu'il n'y aura plus de fenêtre pour l'afficher.

'bufhidden' permet de passer outre l'option 'hidden' pour un tampon.

En combinaison avec 'buflisted' et 'swapfile', cela permet de créer
différentes familles de tampons spéciaux. Voir |special-buffers|.


IMPRESSION						*new-printing*

Commande ":hardcopy" ajoutée pour permettre d'imprimer sur papier. Pour
MS-Windows, n'importe quelle imprimante installée peut être utilisée. Pour les
autres systèmes, un fichier PostScript est généré, qui peut être imprimé avec
l'option 'printexpr'. (partie MS-Windows par Vince Negri et Vipin Aravind,
partie PostScript par Vince Negri et Mike Williams)

":hardcopy" supporte les caractères multi-octets. (Muraoka Taro, Yasuhiro
Matsumoto)

Options ajoutées pour configurer l'impression : (Vince Negri)
- 'printoptions' définit divers paramètres ;
- 'printheader' définit le format de l'en-tête. Ajout du champ 'N' à
  'statusline' pour le numéro de page ;
- 'printfont' spécifie le nom et les attributs de la police ;
- 'printdevice' spécifie l'imprimante par défaut pour ":hardcopy!".


PORTAGES						*ports-6*

Portage sur l'Unix OS/390 : (Ralf Schandl)
- nombreux changements pour supporter l'encodage EBCDIC ;
- changement de la définition "Ctrl('x')" en "Ctrl_x".

Support jsbmouse ajouté. (Darren Garth)
Support pour la souris dec dans Unix. (Steve Wall)

Portage sur la version 16-bits de MS-Windows (Windows 3.1x). (Vince Negri)

Portage sur QNX. Support de l'IHM graphique Photon, de la souris, etc. (Julian
Kinraid)

Autorise la compilation croisée de la version Win32 avec Make_ming.mak. (Ron
Aaron)
Support Python ajouté pour compiler avec MinGW. (Ron Aaron)

DOS 32-bits : support du presse-papiers Windows ajouté. (David Kotchan)

Win32 : chargement dynamique de Perl et de Python. Cela permet de compiler
Vim avec ces interfaces et de ne rechercher les DLL correspondants qu'à
l'exécution. (Muraoka Taro)

Compilation de l'IHM graphique Win32 avec Cygwin. Cela compile également
`vimrun`, `dosinst` et `uninstall`. (Gerfried)

Mac : support de la compilation de Vim avec le compilateur libre MPW fourni
par Apple. Mises à jour pour CodeWarrior. (Axel Kielhorn)

Ajout de transtypages et de #ifdef pour commencer le portage de Vim sur Win64.
(George Reilly)


MODE MISE-AU-POINT ÉTENDU				*quickfix-6*

Ajout de la « fenêtre d'erreurs ». Elle contient toutes les erreurs de la
liste d'erreurs courante. Une pression sur <Entree> dans une ligne fera sauter
Vim vers cette ligne (dans une autre fenêtre). Cela facilite la navigation
dans la liste d'erreurs. |quickfix-window|

- |:copen| ouvre la fenêtre mise-au-point ;
- |:cclose| ferme la fenêtre mise-au-point ;
- |:cwindow| ouvre une fenêtre mise-au-point uniquement si des erreurs sont
  reconnues. (Dan Sharp)

- Le mode mise-au-point reconnaît à présent les messages de type
  « information », en plus des types « avertissement » et « erreur ». "%I"
  peut être utilisé pour le début d'un message d'information multi-lignes.
  (Tony Leneis)
- L'argument "%p" peut être utilisé dans 'errorformat' pour obtenir le numéro
  de la colonne désignée par un '^' dans une ligne. (Stefan Roemer)
- Lorsque "%f" est utilisé dans 'errorformat' sur un système DOS/Windows, un
  "C:" sera inclus dans le nom de fichier, même si "%f:" est utilisé.


MODIFICATEURS D'OPÉRATEURS				*new-operator-mod*

L'insertion de "v", "V" ou CTRL-V entre un opérateur et un mouvement oblige
désormais l'opérateur à fonctionner par caractères, lignes ou blocs. |o_v|


CHEMIN DE RECHERCHE					*new-search-path*

Vim peut effectuer une recherche dans une arborescence de répertoire non
seulement descendante mais aussi ascendante. Cela fonctionne pour les options
'path', 'cdpath' et 'tags'. (Ralf Schandl)

"**" est également utilisé pour l'option 'tags'. (Ralf Schandl)

Option 'includeexpr' ajoutée, permet de modifier le nom des fichiers trouvés
par l'option 'include'.
   'includeexpr' est aussi utilisé pour "gf" et "<cfile>" quand le fichier ne
peut pas être trouvé sans modification. Utile pour exécuter "gf" sur le nom
suivant une instruction "include" ou "import".

Option 'cdpath' ajoutée : donne les emplacements où rechercher un argument à
":cd". (Raf)

Option 'suffixesadd' ajoutée : liste de suffixes à ajouter à un nom de fichier
lors d'une recherche avec "gf", "[I", etc.


ENREGISTREMENT DES FICHIERS AMÉLIORÉ			*new-file-writing*

Option 'backupcopy' ajoutée : définit si un fichier doit être copié ou renommé
pour la création d'un fichier de sauvegarde. Utile sur Unix pour accélérer
l'enregistrement d'un fichier ordinaire. Utile sur les autres systèmes pour
préserver les attributs des fichiers et lors de l'édition d'un fichier sur un
système de fichiers Unix.

Option 'autowriteall' ajoutée : fonctionne comme 'autowrite' mais pour plus de
commandes.

Option 'backupskip' ajoutée : liste de motifs de fichiers pour lesquels Vim ne
fait pas de sauvegarde. La valeur par défaut inclut "/tmp/*" sous Unix, pour
fonctionner avec `crontab -e`.

Support des ACL (listes de contrôles d'accès) ajouté sur FreeBSD et Win32. Les
ACL sont copiées du fichier original vers le nouveau fichier (ou vers la
sauvegarde si elle faite par copie).
   Les ACL sont également supportées sur AIX, Solaris et les systèmes
conformes à POSIX. (Tomas Ogren)
   Idem pour SGI.


LISTE DES ARGUMENTS					*new-argument-list*

Le support de la liste des arguments a été étendu. Celle-ci peut être modifiée
pour y inclure les fichiers que vous souhaitez.

La liste des arguments peut désormais être locale à une fenêtre. Elle est
créée avec la commande |:arglocal|. La commande |:argglobal| peut être
utilisée pour revenir à la liste des arguments globale.

La commande |:argdo| exécute une commande sur tous les fichiers de la liste
des arguments.

Les noms de fichiers peuvent être ajoutés à la liste des arguments avec
|:argadd|, ou supprimés avec |:argdelete|.

"##" peut être utilisé comme "#", il est remplacé par tous les noms de la
liste des arguments concaténés. Utile pour faire ":grep zorglub ##".

La commande |:argedit| ajoute un fichier à la liste des arguments et l'édite.
Identique à ":argadd" puis ":edit".


RESTAURATION DE VUES					*new-View*

La commande ":mkview" écrit un script Vim contenant les mappages et paramètres
utilisés pour une fenêtre. Quand le fichier créé est sourcé, la vue de la
fenêtre est restaurée. C'est similaire à ":mksession" pour une fenêtre.
   La Vue contient également la liste des arguments locale et les replis
ouverts, fermés et créés manuellement.

Commande ":loadview" et option 'viewdir' ajoutées : permet la sauvegarde et la
restauration de vues d'un fichier avec des commandes simples. ":mkview 1"
sauvegarde la vue 1 pour le fichier courant, ":loadview 1" la charge à
nouveau. Permet en outre de basculer facilement entre deux vues d'un fichier.
Et de sauvegarder et restaurer les replis manuels et l'état des replis.

Option 'viewoptions' ajoutée pour définir comment ":mkview" doit fonctionner.

":mksession" fonctionne bien à présent avec les partages verticaux. Il a été
largement amélioré et restaure la vue de chaque fenêtre. Il fonctionne bien
également pour les fenêtres d'aperçu et mise-au-point.

L'option 'sessionoptions' est elle aussi utilisée pour ":mkview".
   Items "curdir" et "sesdir" ajoutés à 'sessionoptions'. Permet de choisir la
valeur à laquelle le répertoire courant sera restauré.

Le fichier de session inclut maintenant aussi la (ou les) liste(s) des
arguments.


JEUX DE COULEURS					*new-color-schemes*

Support pour charger un jeu de couleurs. Commande ":colorscheme" ajoutée.
   Les jeux de couleurs disponibles sont automatiquement ajoutés au menu.

Les couleurs devraient à présent être correctement réinitialisées quand
'background' ou 't_Co' est modifié.
   ":highlight clear" ramène toutes les surbrillances à leurs valeurs par
défaut.
   ":syntax reset" ramène les surbrillances de la syntaxe actuelle à leurs
valeurs par défaut.
   Lors d'un ":set bg&", Vim essaiera de deviner la valeur correcte. Cela
permet à un jeu de couleurs de rétablir les surbrillances par défaut.

Quand la coloration syntaxique est activée et qu'un jeu de couleurs a été
défini, le jeu de couleurs est rechargé pour définir les couleurs.


AUTRES ÉLÉMENTS NOUVEAUX				*new-items-6*

Commandes du mode Normal
------------------------
gi		Saute à la marque '^' et passe en mode Insertion. Fonctionne
		aussi quand la marque est juste après la ligne. |gi|

g'm  et  g`m	Saute à une marque sans modifier la liste des sauts. Vous
		pouvez ainsi utiliser g`" pour sauter à la dernière position
		connue dans un fichier sans effets de bords. Également utile
		dans les mappages.

[', [`, ]' et ]`
		Amène le curseur à la marque minuscule précédente/suivante.

g_		Va au dernier caractère non-blanc d'une ligne. (Steve Wall)

Options
-------
'autoread'	Si Vim détecte qu'un fichier a été modifié par une autre
		application, le tampon correspondant sera automatiquement relu
		si aucune modification n'a été effectuée dans Vim.
		Dispose d'une valeur globale et d'une valeur locale. Utilisez
		":setlocal autoread<" pour revenir à l'utilisation de la
		valeur globale de 'autoread'.

'debug'		Si fixé à "msg", affiche des messages d'erreurs qui auraient
		été omis sans cela. Utile pour déboguer 'indentexpr' et
		'foldexpr'.

'lispwords'	Liste de mots utilisée pour l'indentation Lisp. Elle était
		auparavant incluse directement dans le code source. De
		nombreux noms Lisp ont été ajoutés à la valeur par défaut.

'fold...'	Nombreuses nouvelles options pour le repliage.

'modifiable'	Si désactivé, il est impossible d'effectuer des changements
		sur un tampon. Les items "%m" et "%M" de 'statusline'
		affichent un '-'.

'previewwindow' Activé dans la fenêtre d'aperçu. Utilisé dans un fichier de
		session pour signaler une fenêtre comme la fenêtre d'aperçu.

'printfont'
'printexpr'
'printheader'
'printdevice'
'printoptions'	Pour ":hardcopy".

'buflisted'	Fait apparaître/disparaître un tampon de la liste des tampons.

Support de la forme "vim{version}:" pour les lignes de mode, à exécuter
uniquement lorsque la version de Vim est supérieure ou égale à {version}. Les
formes "vim>{version}", "vim<{version}" et "vim={version}" sont également
supportées.

Commandes Ex
------------
:saveas[!] {fich}
		Fonctionne comme ":w {fich}" et ":e #", mais sans recharger le
		fichier et en évitant d'autres effets de bord. |:saveas|

:silent[!] {cmd}
		Exécute une commande silencieusement. Annule le délai qui
		serait produit par l'affichage d'un message. N'effectue pas
		'showmatch'.
		RISC OS : suppression de "!~cmd", qui annulait toute sortie de
		caractères et l'attente d'une pression sur <Entree> après
		l'exécution. Vous pouvez maintenant utiliser ":silent !cmd".
:menu <silent>  Ajoute un menu qui ne retournera pas les commandes Ex en écho.
:map <silent>   Ajoute un mappage qui ne retournera pas les commandes Ex en
		écho.

:checktime	Teste s'il y a des tampons modifiés.

:verbose {cmd}  Fixe 'verbose' pour une commande particulière.

:echomsg {expr}
:echoerr {expr} Comme ":echo", mais mémorise le message dans l'historique.
		(Mark Waggoner)

:grepadd	Fonctionne exactement comme ":grep", mais ajoute dans la liste
		d'erreurs courante plutôt que de définir une nouvelle liste.
		|:grepadd|

:finish		Termine le sourcement d'un fichier. Permet d'ignorer le reste
		d'un script Vim. |:finish|

:leftabove
:aboveleft	Partage la fenêtre courante en haut/à gauche.

:rightbelow
:belowright	Partage la fenêtre courante en bas/à droite.

:first, :bfirst, :ptfirst, etc.
		Alias pour ":rewind". Ils sont plus logiques par rapport à
		":last".

:enew		Édite un nouveau tampon, sans nom. Cette commande est
		nécessaire, car ":edit" réédite le même fichier. (Wall)

:quitall	Comme ":qall".

:match		Définit un motif de surbrillance localement à une fenêtre.
		Permet de mettre en surbrillance un élément de syntaxe dans la
		fenêtre courante sans interférer avec la coloration
		syntaxique.

:menu enable
:menu disable	Commandes pour activer/désactiver des entrées de menu sans les
		supprimer. (Monish Shah)

:windo		Exécute une commande dans toutes les fenêtres.
:bufdo		Exécute une commande dans tous les tampons.

:wincmd		Commande de fenêtrage (CTRL-W). Utile lorsqu'une commande du
		mode Normal ne peut pas être utilisée (p. ex., pour une
		autocommande CursorHold). Voir |CursorHold-example| pour un
		exemple concret.

:lcd  et  :lchdir
		Fixe le répertoire local pour une fenêtre. (Benjie Chen)

:hide {cmd}	Exécute {cmd} avec 'hidden' activé.

:emenu		Exécute une entrée de menu.

:popup		Fait apparaître un menu contextuel.

:redraw		Rafraîchit l'écran même si un script ou une fonction sont en
		cours d'exécution.

:hardcopy	Imprime sur papier.

:compiler	Charge un script Vim qui effectue un paramétrage destiné à un
		compilateur particulier.

:z#		Liste des lignes numérotées. (Bohdan Vlasyuk)

Nouvelles marques
-----------------
'(  et  ')	Début ou fin de la phrase courante. Utile dans les commandes
		Ex.
'{  et  '}	Début ou fin du paragraphe courant. Utile dans les commandes
		Ex.
'.		Position de la dernière modification dans le tampon.
'^		Position où le mode Insertion a été quitté.

Les marques '^' et '.' sont enregistrées dans le fichier viminfo. Cela permet
de sauter à la position de la dernière insertion ou modification.

Nouvelles fonctions
-------------------
argidx()	Renvoie l'index courant dans la liste des arguments.
buflisted()	Teste si le tampon existe et est listé ('buflisted' activé).
cindent()	Renvoie l'indentation utilisée par 'cindent'.
eventhandler()	Renvoie 1 si appelé dans une routine de traitement d'événement
		où les commandes interactives ne peuvent pas être utilisées.
executable()	Teste si un programme ou un script shell peut être exécuté.
filewritable()	Teste si un fichier peut être enregistré. (Ron Aaron)
foldclosed()	Détermine si une ligne est dans un repli fermé. (Johannes
		Zellner)
foldcloseend()	Trouve la fin d'un repli fermé.
foldlevel()	Détermine le niveau de repli d'une ligne. (Johannes Zellner)
foreground()	Amène la fenêtre IHM graphique au premier plan.
getchar()	Attend un caractère de l'utilisateur. Utile pour définir un
		mappage qui accepte un argument.
getcharmod()	Indique le dernier modificateur clavier utilisé.
getbufvar()	Renvoie la valeur d'une option ou d'une variable locale à un
		tampon. (Ron Aaron)
getfsize()	Renvoie la taille d'un fichier.
getwinvar()	Renvoie la valeur d'une option ou d'une variable locale à une
		fenêtre. (Ron Aaron)
globpath()	Trouve les fichiers qui correspondent à un motif d'englobement
		dans une liste de répertoires.
hasmapto()	Teste si un mappage à une chaîne existe déjà.
iconv()		Convertit une chaîne d'un encodage à un autre.
indent()	Renvoie l'indentation d'une ligne. (Ron Aaron)
inputdialog()	Comme input(), mais utilise une boîte de dialogue si possible.
		Ne fonctionne actuellement que pour Win32, Motif, Athena et
		GTK+.
		inputdialog() est utilisé pour les éléments de menu
		"Edit->Settings->Text Width" et "Help->Find..", ainsi que pour
		l'élément FindHelp de la barre d'outils. XXX
		(support Win32 par Thore B. Karlsen)
		(support Win16 par Vince Negri)
inputsecret()	Comme input(), mais sans afficher les caractères saisis.
		(Charles Campbell)
libcall()	Pour Unix. (Neil Bird, Johannes Zellner, Stephen Wall)
libcallnr()	Pour Win32 et Unix.
lispindent()	Renvoie l'indentation utilisée par 'lisp'.
mode()		Renvoie une chaîne qui indique le mode courant.
nextnonblank()	Saute les lignes blanches vers l'avant.
prevnonblank()	Saute les lignes blanches vers l'arrière. Utile dans les
		scripts d'indentation.
resolve()	MS-Windows : renvoie le fich. vers lequel un raccourci pointe.
		Unix : renvoie le fich. vers lequel un lien symbolique pointe.
search()	Recherche un motif.
searchpair()	Recherche une correspondance de couple. Utile dans les scripts
		d'indentation pour trouver le "if" correspondant à un "endif".
setbufvar()	Fixe une option ou une variable locale à un tampon. (Ron
		Aaron)
setwinvar()	Fixe une option ou une variable locale à une fenêtre. (Ron
		Aaron)
stridx()	Recherche la première occurrence d'un chaîne dans une autre.
strridx()	Recherche la dernière occurrence d'un chaîne dans une autre.
tolower()	Passe une chaîne entière en minuscules.
toupper()	Passe une chaîne entière en majuscules.
type()		Teste le type d'une expression.
wincol()	Renvoie la colonne de fenêtre du curseur.
winwidth()	Renvoie la largeur d'une fenêtre. (Johannes Zellner)
winline()	Renvoie la ligne de fenêtre du curseur.

Ajout de l'expansion des accolades dans les noms de variables ou de fonctions.
Cela peut être utilisé dans des noms de variables qui incluent la valeur d'une
option. Ou pour obtenir une forme primitive de tableau. (Vince Negri)

Nouveaux événements d'autocommandes
-----------------------------------
BufWinEnter	Déclenché quand un tampon est affiché dans une fenêtre, après
		la lecture des lignes de mode. Peut être utilisé pour charger
		une vue.
BufWinLeave	Déclenché quand un tampon n'est plus affiché dans une fenêtre,
		ainsi qu'à la sortie de Vim. Peut être utilisé pour
		sauvegarder des vues.
FileChangedRO	Déclenché avant d'effectuer la première modification sur un
		fichier en lecture seule. Peut être utilisé pour automatiser
		un "checkout" sur un système de gestion de versions. (Scott
		Graham)
TermResponse	Déclenché quand le terminal répond à une requête de version.
		La variable interne "v:termresponse" contient le résultat de
		la requête. Peut être utilisé pour s'adapter à la version du
		terminal. (Ronald Schild)
FileReadCmd	Déclenché avant la lecture d'un fichier.
BufReadCmd	Déclenché avant la lecture d'un fichier dans un tampon.
FileWriteCmd	Déclenché avant l'enregistrement d'un fichier.
BufWriteCmd	Déclenché avant l'écriture d'un tampon dans un fichier.
FileAppendCmd	Déclenché avant l'ajout dans un fichier.
FuncUndefined	Déclenché quand une fonction utilisateur n'est pas définie.
		(Ron Aaron)

Les autocommandes pour les événements *Cmd redéfinissent la façon dont un
fichier est lu/enregistré. Ceci est utilisé dans le greffon "netrw.vim" pour
permettre l'édition de fichiers sur un système distant. (Charles Campbell)

Nouveaux fichiers de syntaxe
----------------------------
bdf		Définition de police BDF (Nikolai Weibull)
catalog		SGML catalog (Johannes Zellner) XXX
debchangelog	ChangeLog Debian (Wichert Akkerman)
debcontrol	Debian Control (Wichert Akkerman) XXX
dot		Dot (Markus Mottl)
dsl		Syntaxe DSSSL (Johannes Zellner)
eterm		Configuration Eterm (Nikolai Weibull)
indent		Configuration Indent (Nikolai Weibull)
lftp		LFTP (Nikolai Weibull)
lynx		Configuration Lynx (Doug Kearns)
mush		Code source Mush (Bek Oberin)
natural		Natural (Marko Leipert)
pilrc		Compilateur de ressources Pal (Brian Schau) XXX Palm ?
plm		PL/M (Philippe Coulonges)
povini		Configuration POV-Ray (David Necas)
ratpoison	Configuration/commande Ratpoison (Doug Kearns)
readline	Configuration readline (Nikolai Weibull)
screen		Configuration Screen (Nikolai Weibull)
specman		Specman (Or Freund)
sqlforms	SQL*Forms (Austin Ziegler) XXX
terminfo	terminfo (Nikolai Weibull)
tidy		Configuration Tidy (Doug Kearns)
wget		Configuration Wget (Doug Kearns)

Nombreux fichiers de syntaxe mis à jour pour fonctionner à la fois avec Vim
5.7 et 6.0.

Divers
------
Création d'une interface Ruby. (Shugo Maeda)
   Support du chargement dynamique de l'interface Ruby sur MS-Windows.
(Muraoka Taro)
   Également pour MinGW. (Benoit Cerrina)

Win32 : ajout de la possibilité de charger TCL dynamiquement. (Muraoka Taro)
   Également pour Borland 5.5. (Dan Sharp)

Win32 : lors de l'édition d'un raccourci (fichier ".lnk"), éditer le fichier
vers lequel celui-ci pointe. Mais si 'binary' est activé, éditer plutôt le
fichier de raccourci lui-même. (Yasuhiro Matsumoto)

La commande ":command" accepte à présent un argument "-bar". Il permet à une
commande utilisateur de pouvoir être suivie par "| command".

La fenêtre d'aperçu est désormais aussi utilisée par ces commandes :
- |:pedit| édite le fichier spécifié dans la fenêtre d'aperçu ;
- |:psearch| recherche un mot dans les fichiers inclus, comme |:ijump|, et
  affiche le texte trouvé dans la fenêtre d'aperçu.
Commande "CTRL-W P" ajoutée : permet d'aller à la fenêtre d'aperçu.

MS-DOS et MS-Windows lisent également le fichier vimrc système "$VIM/vimrc".
Essentiellement pour les systèmes NT multi-utilisateurs.

Un double clic de la souris sur un caractère qui possède un appariement avec
"%" sélectionne le texte depuis ce caractère jusqu'à son appariement.
Identique à "v%".

Argument "-S session.vim" : source un fichier de script au démarrage. C'est un
moyen commode pour lancer Vim avec un fichier de session.

Argument "--cmd {commande}" ajouté pour exécuter une commande avant qu'un
fichier vimrc ne soit chargé. (Vince Negri)

Argument "-M" ajouté : désactive 'modifiable' et 'write', ce qui interdit
toute modification et tout enregistrement des fichiers.

Script "runtime/delmenu.vim" ajouté. Sourcez-le pour supprimer tous les menus
préparer le chargement de nouveaux menus. Utile quand 'langmenu' est changé.

Script Perl créé pour filter les messages d'erreurs Perl dans un format
utilisable par le mode mise-au-point. (Joerg Ziefle)

Script "runtime/macros/less.vim" ajouté : simule `less`, mais avec la
coloration syntaxique.

Programme d'installation MS-Windows amélioré : (Jon Merz)
- Le programme Win32 peut désormais créer des raccourcis sur le bureau et
  installer Vim dans le menu Démarrer.
- Il est possible de supprimer d'anciennes entrées "Éditer avec Vim".
- L'exécutable Vim n'est jamais déplacé ni $PATH modifié. Un petit fichier
  batch est créé dans un répertoire de $PATH. Cela réduit les choix à faire.
- Les versions déjà installées de Vim sont détectées et il est d'abord proposé
  de les désinstaller.

Programme de désinstallation MS-Windows amélioré. Il supprime maintenant aussi
les entrées dans le menu Démarrer, les icônes sur le bureau et les fichiers
batch créés. (Jon Merz)
   Il est également possible de ne supprimer qu'une partie de ces éléments. Et
de désenregistrer gvim pour OLE.

Génération d'un installateur automatique pour Vim sur MS-Windows. NSIS est
utilisé. (Jon Merz et al.)

Commande ":filetype detect" ajoutée : essaie de redétecter le type d'un
fichier. Utile lors de la création d'un script shell, après avoir saisi
"#!/bin/csh".

Commande ":augroup! name" ajoutée : supprime un groupe d'autocommandes.
Nécessaire pour le client-serveur "--remote-wait".

Ajout du numéro de version de Vim dans le fichier viminfo, utile pour le
débogage.

==============================================================================
Améliorations						*improvements-6*

Ajout du drapeau 'n' dans 'cpoptions' : si omis, le texte des lignes enroulées
ne débordera pas parmi les numéros de lignes de l'option 'number'. Cela
facilite beaucoup la lecture des lignes enroulées.

En cas d'erreur de format dans un fichier de marqueurs, la position en octets
est rapportée, ce qui permet de localiser l'erreur.

"gf" fonctionne en mode Visuel : le texte sélectionné est interprété comme un
nom de fichier. (Chase Tingley)

Les mappages ambigus sont autorisés. Ainsi, "aa" et "aaa" peuvent tous deux
être mappés, la correspondance la plus longue sera utilisée. Particulièrement
utile pour ":lmap" et 'keymap'.

Chiffrement : la clé doit être saisie deux fois lors du premier chiffrement.
Sans cette confirmation, une erreur de frappe provoquerait la perte
irrémédiable du texte chiffré. (Chase Tingley)

Le titre de la fenêtre indique à présent « VIM » en dernière position. Le nom
du fichier arrive en premier (utile dans une barre des tâches). Un "+" est
ajouté lorsque le fichier est modifié. "=" est ajouté pour un fichier en
lecture seule. "-" est ajouté pour un fichier non-'modifiable'.

En mode Visuel, la taille de la zone sélectionnée est affichée sur
l'emplacement utilisé par 'showcmd'.

Ajout de la variable "b:changedtick" : elle est incrémentée à chaque
changement, annulations comprises. Utile pour accomplir une action sur un
tampon en fonction de son état de modification.

Dans la chaîne de remplacement d'une commande ":s", "\=" permet de remplacer
par le résultat d'une expression. Dans cette expression, la fonction
submatch() peut être utilisée pour accéder aux sous-correspondances.

Si ":qall" est exécuté et qu'il existe un changement dans un tampon en cours
d'édition dans une autre fenêtre, saute à cette fenêtre, au lieu d'éditer ce
tampon dans la fenêtre courante.

Arguments "++enc=" et "++ff=" ajoutés aux commandes de lecture/enregistrement
de fichier, pour obliger à utiliser un encodage et un format de fichier
particulier (options 'encoding' et 'fileformat').
   Variable "v:cmdarg" également ajoutée, à utiliser pour les autocommandes
telles que FileReadCmd, qui lisent/enregistrent le fichier par elles-mêmes.

Lors d'une lecture sur l'entrée standard, le texte est lu une première fois
en mode binaire, puis relu avec sélection automatique de 'fileformat' et
'fileencoding'. Cela permet d'éviter le problème posé par l'impossibilité de
revenir en arrière dans le fichier (p. ex., quand une ligne près de la fin du
fichier se termine par LF au lieu de CR-LF).
   Lors d'une lecture de texte sur l'entrée standard, si le tampon est vide,
il n'est pas marqué comme modifié. Cela permet de quitter sans encombre.

Identifiant ajouté pour de nombreux messages d'erreurs. Cela facilite la
recherche de l'aide sur un message.

Mode Insertion :
- "CTRL-G j" et "CTRL-G k" permettent d'insérer dans la même colonne d'une
  autre ligne. Utile pour éditer un tableau.
- Complètement par thésaurus ajouté : "CTRL-X CTRL-T". (Vince Negri)
- Option 'thesaurus' ajoutée, à utiliser à la place de 'dictionary' pour le
  complètement par thésaurus. Drapeau 's' ajouté dans 'complete'.
- "CTRL-X CTRL-L" en mode Insertion utilise maintenant l'option 'complete'. Il
  examine également les autres tampons pour trouver les lignes
  correspondantes.
- CTRL-R fonctionne à présent aussi en mode Insertion lors d'un complètement
  avec CTRL-X ou CTRL-N. (Neil Bird)
- Lors d'un complètement en mode Insertion, quand le complètement est terminé,
  vérifie s'il y a une correspondance avec les mots de 'cinkeys' ou
  'indentkeys'.

Performance :
- La mise à jour de l'affichage a été rendue plus efficace. Les lignes
  insérées/supprimées pourront être utilisées pour tous les changements,
  annulations/restaurations comprises.
- L'affichage n'est pas rafraîchi lors d'une saisie en mode Insertion. Cela
  accélère beaucoup CTRL-R.
- Vitesse de sortie de l'écran améliorée pour la version Dos 32-bits. (Vince
  Negri)
- Lors du glissement de la souris, les codes souris sont ignorés s'ils sont
  suivis par d'autres codes similaires. Cela accélère considérablement les
  glissements de la souris.
- Utilisation de la mémoire également améliorée : lors d'un appel à u_save
  avec une ligne unique, cette dernière n'est pas mémorisée si elle l'a déjà
  été récemment pour la même annulation.
- Lors de l'utilisation d'un script ajoutant un caractère à la fois, la
  quantité de mémoire allouée augmente régulièrement. Même quand 'undolevels'
  vaut -1. Cela provient de ce que la ligne mémorisée pour "U" n'est jamais
  libérée. À présent, les blocs pour l'annulation sont libérés quand ils sont
  vides.
- IHM graphique et Dos32 : utilisation d'une région de défilement verticale,
  pour accélérer le défilement dans un fenêtre partagée verticalement. Cela
  rend inutile le rafraîchissement de la fenêtre entière.
- Lorsque le défilement n'est pas possible avec les codes du terminal (p. ex.,
  pour une fenêtre partagée verticalement), l'écran est rafraîchi en utilisant
  ScreenLines[]. Cela devrait être plus rapide que d'examiner les lignes avec
  win_line(), particulièrement si la coloration syntaxique est active.
- Le menu Syntaxe est désormais pré-généré par un script séparé. Cela rend le
  chargement du menu 70 % plus rapide. Cela peut diviser par deux le temps de
  démarrage de gvim.
- Lorsque ":help {marqueur}" est exécuté, "help.txt" n'est plus ouvert en
  premier, le saut vers le marqueur d'aide est effectué directement. C'est
  plus rapide et évite un message supplémentaire.
- Win32 : lorsqu'un nom de fichier ne se termine pas par ".lnk", n'essaie pas
  de trouver si c'est un raccourci, cela prend trop de temps.
- Pas de mise à jour de la forme du pointeur de la souris lorsqu'une saisie
  est en cours.
- META[] est changée d'une chaîne en un tableau, cela évite d'utiliser
  strchr() dessus.
- La ligne de commande n'est pas effacée lors de l'ajout de caractères, cela
  évite d'appeler screen_fill alors qu'il n'y a rien à faire.

Robustesse :
- Unix : lors de l'évaluation d'une expression rationnelle, vérifier si
  l'espace libre pour la pile est suffisant. Ceci permet d'éviter un plantage
  sérieux. Ne fonctionne que si le système autorise l'exécution de la fonction
  signal() avec une pile distincte.
- ":source {nomrep}" est interdit. Sur Unix, il est possible de lire un
  répertoire, une telle chose n'a pas de sens en tant que commande Vim.

Sécurité :
- Lors de la lecture ou de l'écriture d'un fichier temporaire, vérifie s'il ne
  s'agit pas d'un lien symbolique. Cela offre une certaine protection contre
  les attaques par lien symbolique.
- Lors de la création d'une copie de fichier de sauvegarde ou d'un fichier
  d'échange, vérifie s'il n'en existe pas déjà un pour éviter une attaque par
  lien symbolique. (Colin Phipps)
- Les options qui sont des expressions sont évaluées dans le bac à sable
  |sandbox|. Si l'option avait été fixée dans une ligne de mode, elle ne peut
  pas causer de tort.
- Il est possible de générer des noms de fichiers temporaires de façon
  sécurisée, en créant un répertoire privé pour les fichiers temporaires.
  Utilisé pour Unix, MS-DOS et OS/2.
- 'makeef' peut être vide, ce qui signifie qu'un nom de fichier généré en
  interne est utilisé. L'ancienne valeur par défaut était "/tmp/file", c'était
  un risque potentiel.
  L'écriture du fichier d'erreurs ('makeef') dans le répertoire courant échoue
  dans un répertoire en lecture seule et pose problème lors de l'utilisation
  de ":grep" sur tous les fichiers. La valeur par défaut est rendue vide pour
  tous les systèmes, afin qu'un fichier temporaire soit utilisé.
- La commande de saut issue d'un fichier de marqueurs est exécutée dans le bac
  à sable, pour une meilleure sécurité.
- Les interfaces Ruby, Tcl et Python ne peuvent pas être utilisées depuis le
  bac à sable. Elles peuvent effectuer des actions dangereuses. L'interface
  Perl reste utilisable, mais elle est limitée à l'environnement Safe. (Donnie
  Smith)

Coloration syntaxique :
- Optimisation de la vitesse en mettant en mémoire la pile d'état pour tout le
  fichier, pas seulement pour la partie qui est affichée. Nécessaire pour les
  replis.
- Ajout de ":syntax sync fromstart" : commence toujours l'analyse syntaxique
  au début du fichier.
- Argument "display" ajouté pour les éléments de syntaxe : n'utilise l'élément
  que lorsque le résultat est affiché. Peut rendre l'analyse syntaxique plus
  rapide pour le texte qui ne doit pas être affiché.
- Lorsque CTRL-L est utilisé, les états mis en mémoire sont supprimés pour
  obliger à analyser le texte à nouveau.
- L'algorithme elfhash est utilisé pour le tableau des mots-clés. Cela devrait
  donner une meilleure distribution et accélérer la recherche des mots-clés.
  (Campbell)
- Le contexte initial ("lc") se voit autorisé avec les motifs "skip" et "end".
  (Scott Bigham)
- Argument "extend" ajouté pour les éléments de syntaxe : annule l'effet de
  l'argument "keepend" d'un élément dans lequel il est contenu. Cela permet à
  certains éléments contenus d'étendre une région, tandis que d'autres ne le
  peuvent pas.
- ":syntax clear" détruit à présent la variable "b:current_syntax". C'est
  logique, puisque aucune syntaxe n'est définie après cette commande.
- Ajout de ":syntax enable" : active la coloration syntaxique sans changer les
  couleurs. Cela permet de spécifier les couleurs dans le fichier vimrc sans
  recourir à "mysyntaxfile".
- Ajout de ":syntax reset" : réinitialise les couleurs.
- Arguments "contains=TOP" et "contains=CONTAINED" ajoutés pour les éléments
  de syntaxe : permettent de définir un élément transparent qui ne se contient
  pas lui-même.
- Argument "containedin" ajouté pour les éléments de syntaxe : permet
  d'ajouter un élément contenu à un élément existant (p. ex., pour mettre en
  surbrillance un nom dans un commentaire).

Sélection amodale :
- Si vous êtes dans la fenêtre command-line, la sélection amodale sera
  utilisée dans les autres fenêtres. Cela permet de copier du texte visible
  dans la fenêtre command-line.
- Support de la sélection amodale sur la ligne de commande dans un terminal.
  Auparavant, ce n'était possible que pour l'IHM graphique.
- Un double clic droit en sélection amodale fera sélectionner un mot entier.
  Un clic droit simple n'utilise pas la sélection par mots lancée par un
  double clic gauche. Cela fonctionne à présent comme en mode Visuel.
- La sélection amodale n'est désormais plus copiée automatiquement dans le
  presse-papiers. Elle obéit aux drapeaux 'a' et 'A' de 'guioptions', ou
  "autoselect" et "autoselectml" de 'clipboard'.
- Commande CTRL-Y ajoutée en mode Lignecmd : copie la sélection amodale dans
  le presse-papiers. Fonctionne également avec l'invite Appuyez-sur-entrée et
  l'invite Plus.
  Les mappages de "runtime/mswin.vim" pour CTRL-Y et CTRL-Z en mode Lignecmd
  sont supprimés pour permettre cette nouvelle utilisation de CTRL-Y.

regmatch() utilise désormais moins d'espace dans la pile, ce qui lui permet de
prendre en charge des motifs complexes sur des textes plus longs.

'isfname' inclut à présent '%' et '#'. La commande `vim rep\#fich`
fonctionnera pour MS-DOS.

Notation ajoutée pour les touches du pavé numérique <kEnter> et de <k0> à
<k9>. Lorsqu'elles ne sont pas mappées, elles se comportent comme leur
équivalent ASCII. (Ivan Wellesz et Vince Negri)
   Plusieurs autres combinaisons xterm sont reconnues : <C-Right>, <C-Left>,
<C-End>, <C-Home>.

L'événement BufUnload est à présent aussi déclenché avant la sortie de Vim. Un
script peut avoir avoir besoin d'effectuer du nettoyage.

Les expressions entre contre-apostrophes sont étendues : `={expr}`. Cela peut
être utilisé aux endroits où l'expansion est effectuée. (Vince Negri)

IHM graphique :
- Drapeaux 'L' et 'R' ajoutés dans 'guioptions' : n'ajoute d'ascenceur gauche
  ou droit que lorsqu'il y a une fenêtre partagée verticalement.
- X11 : quand une couleur ne peut pas être allouée, utilise la correspondance
  la plus proche dans la palette de couleurs. Cela évite que le noir ne soit
  utilisé pour trop d'éléments. (Monish Shah)
  Cela s'applique également aux menus et aux ascenceurs, pour éviter qu'ils ne
  deviennent noirs.
- Win32 et X11 : option 'mouseshape' ajoutée : modifie la forme du pointeur de
  la souris en fonction du mode courant. (Vince Negri)
- Option 'linespace' ajoutée : insère une ligne de pixels entre chaque ligne.
  (Nam)
- La sélection amodale (sans déplacement du curseur) est accessible en
  maintenant Ctrl et Maj enfoncés. (Ivan Wellesz)
- Motif : barre d'outils ajoutée. (Gordon Prieur) Bulles d'aide également.
- Athena : barre d'outils et bulles d'aide ajoutées. (David Harrison -- basé
  sur le travail de Gordon Prieur)
- Option 'toolbar' modifiée pour fonctionner pour Athena et Motif. Il est
  maintenant possible de permuter affichage d'étiqettes et d'icônes à la
  volée. (David Harrison)
- Support des lignes de séparation de menu pour Athena. (David Harrison)
- Athena : ajuste l'icône en forme de flèche utilisée dans un menu déroulant à
  la taille de la police. (David Harrison)
- Win32 : drapeau 'c' ajouté à 'guifont' pour permettre de spécifier le jeu de
  caractères. (Artem Khodush)
- Si aucun argument --enable-xim n'est donné, il est automatiquement utilisé
  lorsqu'une IHM graphique X est demandée. Nécessaire pour le support des
  touches mortes (et la saisie multi-octets).
- Après un dialogue de sélection de fichier, Vim vérifie que les fichiers
  édités n'ont pas été modifiés ou supprimés. Le dialogue Win32 autorise la
  suppression et le renommage de fichiers.
- Motif et Athena : support pour `editres` ajouté. (Martin Dalecki)
- Motif et Athena : ajout de "menuFont" pour permettre de spécifier une police
  ou un jeu de polices pour les menus. Peut aussi être fixé avec le groupe de
  surbrillance Menu. Utile lorsque la région linguistique est différente de
  'encoding'. (David Harrison)
  Si FONTSET_ALWAYS est défini, Vim utilisera toujours un jeu de polices pour
  les menus. Cela devrait éviter des problèmes lors du changement d'une police
  en un jeu de polices. (David Harrison)
- La surbrillance et la police d'une bulle d'aide peuvent être spécifiés avec
  le groupe de surbrillance Tooltip. (David Harrison)
- Les menus du mode Lignecmd peuvent être utilisés à une invite
  Appuyez-sur-entrée. Ils fonctionnent généralement bien, car ils débutent par
  un CTRL-C. Le menu "Copier" marche pour copier la sélection amodale. Il
  permet de copier ":set all" ou ":intro" sans auto-sélection.
- Quand l'IHM graphique est lancée et qu'il n'y a pas de terminal connecté aux
  entrées/sorties standards, les messages d'erreurs sont affichés dans un
  dialogue. Auparavant, ils n'étaient pas affichés du tout.
- Il est désormais possible de fixer 'browsedir' au nom d'un répertoire, à
  utiliser pour le sélecteur de fichier. (Dan Sharp)
- "b:browsefilter" et "g:browsefilter" peuvent être fixés aux filtres utilisés
  pour le sélecteur de fichier. Supporté dans les IHM graphiques Win32 et
  Motif. (Dan Sharp)

X11 :
- Support pour la sélection du presse-papiers en tant que registre "+. Quand
  Vim est quitté ou suspendu, la sélection est copiée dans le tampon de
  coupage 0. Cela devrait permettre le copier-coller avec plus d'applications
  d'une manière standard à X11. (Neil Bird)
- Le presse-papiers X est utilisé dans n'importe quel terminal, pas simplement
  dans un xterm.
  Item "exclude:" ajouté à 'clipboard' : définit un motif à comparer au nom du
  terminal ; en cas de correspondance, aucune connexion ne devrait être
  effectuée au serveur X. La valeur par défaut fonctionne actuellement pour
  les consoles FreeBSD et Linux.
- Quelques messages ajoutés pour quand 'verbose' est non-nul pour rapporter ce
  qui se passe lorsque Vim essaie de se connecter au serveur X. Cela peut
  éventuellement servir à déterminer pourquoi le démarrage est lent.

IHM graphique GTK+ : (en partie par Marcin Dalecki)
- Dans certaines polices, les caractères peuvent dépasser la taille hampe +
  jambage. P. ex., avec "-misc-fixed-*-*-*-*-18-*-*-*-*-*-iso10646-1". Pour
  corriger cela, Vim ajoute un à la hauteur de cellule des caractères.
- Valeur "no" ajoutée dans 'winaltkeys' : Alt + touche n'est pas utilisé comme
  raccourci de menu, lorsque 'wak' est modifié après la création des menus.
- Il devient possible de fixer 'wak' après le lancement de l'IHM graphique.
- Les GC utilisés pour le texte sont recyclés pour réduire les interactions.
- La taille des icônes est ajustée selon le gestionnaire de fenêtres.
- Nettoyage dans la gestion des polices.
- XQueryColor est remplacé par des appels GDK.
- Support Gnome. Détection de Gnome via `configure` et utilisation des
  différentes briques d'interface. Le reste est similaire à GTK+. (Andy Kahn)
  Ce support est désactivé par défaut, car il provoque quelques problèmes.
- Le code spécial pour fourcher d'abord puis démarrer l'IHM graphique est
  supprimé. _exit() est désormais utilisé au lieu de exit(), cela fonctionne
  bien sans recours spéciaux.
- Les boîtes de dialogue s'ouvraient parfois assez loin de gvim. Elles sont à
  présent positionnées dans la fenêtre gvim. (Brent Verner)
- Lorsqu'un fichier est déposé dans Vim, les obliques supplémentaires au début
  du chemin sont supprimées. Le nom du fichier est également raccourci si
  possible.

Motif : (Martin Dalecki)
- La disposition des boîtes de dialogue est améliorée.
- Boîtes de dialogue "Rechercher" et "Remplacer" ajoutés.
- Pour les menus, "iso-8859" est changé en "iso_8859", c'est apparamment
  nécessaire pour Linux.
- Icônes ajoutées pour les boîtes de dialogue, comme pour GTK+.
- Le format XPM est utilisé pour les icônes si possible. Le fichier d'en-tête
  "XpmP.h" de Solaris est utilisé s'il est disponible.
- L'ombrage des éléments de la barre d'outils est modifié pour offrir une
  confirmation visuelle qu'ils sont bien pressés sur un environnement
  non-LessTiff.
- Des briques d'interface sont utilisées pour certains éléments plutôt que des
  fenêtres pour une plus grande vitesse.

Complètement de la ligne de commande :
- Le nom des variables d'environnement est complété. (Mike Steed)
- Plusieurs méthodes de complètement ajoutées pour ":command" : "mapping",
  "function", "expression" et "environment".
- Si une fonction n'accepte pas d'arguments, le complètement ajoutera "()" au
  lieu de "(".

Pour MS-DOS, MS-Windows et OS/2 : les variables d'environnement %VAR% sont
étendues comme $VAR. (Walter Briscoe)

Redirection des messages vers le presse-papiers ":redir @*" et le registre
sans nom ":redir @"". (Wall)

":let @/ = ''" efface le motif de recherche au lieu de le fixer à une chaîne
vide.

Évaluation d'expressions :
- "? :" peut être utilisé comme en C.
- col("$") renvoie la longueur de la ligne du curseur plus un. (Stephen P.
  Wall)
- Argument optionnel supplémentaire pour match(), matchend() et matchstr() :
  décalage pour spécifier où commencer la recherche.
- Le troisième argument de strpart() devient optionnel. (Paul Moore, Zdenek
  Sekera)
- exists() permet aussi de tester des commandes Ex et des autocommandes
  définies.
- Argument supplémentaire ajouté à input() : texte par défaut.
- "v:errmsg" est également fixé lorsque ":silent! {cmd}" est utilisé.
- Variable "v:prevcount" ajoutée : "v:count" pour la commande précédente.
- Variable "v:progname" ajoutée : nom par lequel Vim a été invoqué. (Vince
  Negri)
- Dans le message verbeux sur le retour d'une fonction, affiche aussi la
  valeur de retour.

Cscope :
- Fonction cscope_connection() ajoutée. (Andy Kahn)
- ":cscope kill -1" tue toutes les connexions cscope. (Andy Kahn)
- Option 'cscopepathcomp' ajoutée. (Scott Hauck)
- Commande ":scscope" ajoutée, partage la fenêtre et exécute la commande
  cscope. (Jason Duell)

VMS :
- Les arguments de la ligne de commande sont tous en majuscules. Interprète un
  argument "-X" comme "-x" et "-/X" comme "-X".
- 'makeprg' et 'grepprg' sont fixés à des valeurs pertinentes. (Zoltan
  Arpadffy)
- Le presse-papiers X est utilisé ainsi que le serveur de commandes X. (Zoltan
  Arpadffy)

Macintosh : (Dany St-Amant)
- Un fichier de marqueurs peut utiliser CR, CR-LF ou LF comme fin-de-ligne.
- Carbonisation (du code non-Carbon a été conservé). (une partie du travail a
  été « volée » à Ammon Skidmore)
- Gestion de l'index des éléments de menus améliorée (devrait être plus
  rapide).
- Les commandes issues du support gèrent maintenant '/' dans les noms de
  fichiers (version Mac OS 9).
- Support pour ":winpos" ajouté.
- Les fichiers de marqueurs au format DOS sont également supportés. (Axel
  Kielhorn) XXX Bram
- Support de '~' dans les noms de fichiers pour désigner le répertoire
  personnel.

Options :
- Lorsque "set +=" ou "^=" est utilisé, Vim vérifie s'il y a des éléments en
  double. Ils sont supprimés le cas échéant. (Vince Negri)
- Lorsqu'une option est fixée à une liste de drapeaux, Vim supprime aussi les
  drapeaux en double.
- Si possible, getrlimit() est utilisé pour fixer 'maxmemtot' et 'maxmem'.
  (Pina)
- Item "alpha" ajouté à 'nrformats' : incrémente ou décrémente un caractère
  alphabétique avec CTRL-A et CTRL-X.
- ":set opt&vi" fixe une option à sa valeur Vi par défaut, ":set opt&vim" à sa
  valeur Vim par défaut. C'est utile pour fixer 'cpo' à sa valeur Vim par
  défaut sans connaître les drapeaux qu'il inclut.
- 'scrolloff' s'applique à présent aussi à une ligne longue enroulée qui ne
  rentre pas dans la fenêtre.
- Un plus grand nombre de paramètres d'option est ajouté aux menus par défaut.
- La fenêtre option-window est mise à jour avec les nouvelles options. Elle
  est maintenant un peu plus facile à lire.

Changements internes :
- Séparation des descripteurs de lignes en deux parties : texte d'une part et
  attributs d'autre part. Cela permettra d'utiliser des attributs nécessitant
  plusieurs octets à l'avenir.
- Une fonction qsort() est fournie aux systèmes qui n'en disposent pas.
- L'énorme "switch" utilisé pour les commandes du mode Normal est remplacé par
  un tableau. Cela allège considérablement le code et évite des problèmes avec
  les opti