*rileft.txt* Pour Vim version 6.2.
MANUEL de RÉFÉRENCE VIM - par Avner Lottem
mis à jour par Nadim Shaikli
Mode d'affichage de droite à gauche pour Vim *rileft*
Ces fonctions furent écrites à l'origine par Avner Lottem :
Courriel : alottem@iil.intel.com
Téléphone : +972-4-8307322
[N.D.T. : Le traducteur ne garantit pas qu'Avner comprenne le français.]
{Vi ne possède aucune de ces commandes}
*E26*
Cette fonctionnalité n'est disponible que si la fonctionnalité |+rightleft| a
été incluse lors de la compilation.
Introduction
------------
Certaines langues telles que l'arabe, le persan, l'hébreu (parmi d'autres)
nécessitent la possibilité d'afficher leur texte de droite à gauche. Les
fichiers écrits dans ces langues sont enregistrés de manière conventionnelle
(c.-à-d. en commençant par le début, en continuant par le milieu, et en
terminant par la fin) ; l'affichage de droite à gauche est uniquement une
fonctionnalité de l'interface d'affichage (en vertu des spécifications
Unicode). Dans les fichiers écrits dans l'orientation de droite à gauche, les
caractères apparaissent de droite à gauche à l'écran.
La bidirectionnalité (ou, en abrégé, la bidi) est la solution universelle
offerte à ces langues par Unicode. La bidi offre à l'utilisateur la
possibilité de visualiser à la fois dans la même fenêtre du texte de gauche à
droite ou de droite à gauche selon l'écriture utilisée. Pour des raisons de
simplicité, Vim ne fournit pas la bidi à l'heure actuelle ; son choix est
seulement de proposer à l'utilisateur la possibilité d'afficher, de saisir et
d'utiliser du texte allant soit de gauche à droite, soit de droite à gauche.
Une option hybride plus ancienne, qui consistait à encoder la direction
d'affichage avec chaque caractère (ou groupe de caractères), n'a pas été
retenue non plus, d'une part parce qu'elle dépasse ce à quoi on peut
s'attendre de la part d'un « simple » éditeur de texte, et d'autre part parce
qu'Unicode ne lui a pas accordé sa sanction.
Résumé
------
o L'édition « de gauche à droite » fonctionne comme dans le Vim
« classique », sans changement.
o Affichage et édition des fichiers dans des fenêtres orientées de droite à
gauche. L'orientation est définie « par fenêtre », de sorte qu'il est
possible de visualiser un même fichier à la fois de gauche à droite et de
droite à gauche. (Ceci est utile pour la visualisation de fichiers hybrides
contenant à la fois du texte de gauche à droite et de droite à gauche).
o Compatibilité avec le Vim « classique ». Pratiquement toutes les
fonctionnalités sont indépendantes du sens de l'affichage (voir plus loin
« Bogues »).
o Recul en mode d'insertion inverse, vers la position correcte dans le
fichier (si possible).
o Le terminal n'a pas besoin de posséder une fonction d'affichage de droite à
gauche. Toutes les modifications introduites par l'option d'affichage de
droite à gauche sont totalement indépendantes du matériel.
o De nombreuses langues exigent que l'affichage de droite à gauche soit
supporté. Il est très facile de supporter de nouvelles langues à écriture
de droite à gauche, moyennant l'inclusion de leur codage clavier, et
peut-être de quelques ajustement mineurs dans le code source. À l'heure
actuelle, trois de ces langues sont déjà supportées : voir |arabic.txt|,
|farsi.txt| et |hebrew.txt|.
Particularités...
-----------------
o Invocation
----------
+ 'rightleft' ('rl') oriente la fenêtre de droite à gauche.
+ 'delcombine' ('deco'), option booléenne, permet, lors de l'édition de
textes encodés en UTF-8, de supprimer un caractère de composition,
c'est-à-dire un caractère qui s'affiche superposé sur le précédent
(de tels caractères sont utilisés, par exemple, pour les voyelles des
langues sémitiques).
+ 'rightleftcmd' ('rlc') permet, dans certains modes (tels que la
recherche) l'utilisation de texte de droite à gauche même sur la ligne
de commande.
O Saisie rétrodirectionnelle *ins-reverse*
--------------------------
Au lieu d'utiliser pleinement l'option 'rightleft', il est possible d'opter
pour l'insertion à reculons. Lorsque l'option 'revins' (reverse insert =
insertion inversée) est activée, l'insertion se produit à reculons. Ceci
peut être utilisé pour taper du texte de droite à gauche. Au cours de
l'insertion, le curseur reste immobile et le texte est « poussé » vers la
droite. La touche <RetArr> supprime le caractère le plus récent, qui se
trouve sous le curseur. CTRL-W et CTRL-U fonctionnent également en sens
inverse. <RetArr>, CTRL-W et CTRL-U ne s'arrêtent ni au début de
l'insertion ni à la fin de la ligne, quelle que soit la valeur de l'option
'backspace'.
Il n'y a pas (encore) de mode remplacement à reculons.
Si l'option 'showmode' est activée, la ligne d'état affiche "-- REVERSE
INSERT --" lorsque l'insertion se fait à reculons.
o Coller dans une fenêtre orientée de droite à gauche
---------------------------------------------------
Si on colle dans une fenêtre orientée de droite à gauche du texte copié ou
coupé avec la souris, l'orientation du texte sera inversée, car les
caractères se trouvent de gauche à droite dans le presse-papiers. Pour
éviter cela, inversez l'options 'revins' avant de coller le texte.
Bogues
------
o Les commandes CTRL-A et CTRL-X (addition et soustraction) ne sont pas
exécutées correctement dans une fenêtre orientée de droite à gauche.
o L'insertion à reculons et le mode de droite à gauche ne sont pas supportés
sur la ligne de commande. Toutefois, la fonctionnalité de l'éditeur ne s'en
trouve pas diminuée, car il est possible de saisir de droite à gauche les
mappages, les abréviations et les textes à rechercher.
o Le traitement est légèrement plus lent en mode de droite à gauche, car le
mouvement de droite à gauche est « émulé » au sein de Vim, il n'est pas
exécuté directement par la carte d'écran.
o Dans l'IHM graphique Athena, l'ascenseur horizontal fonctionne dans le
mauvais sens. Ceci est difficile à corriger.
o Lorsque 'rightleft' et 'revins' sont activées en même temps, l'option
'textwidth' ne fonctionne pas : il n'y a pas de retour à la ligne
automatique, vous obtenez une seule longue ligne.
o Il n'y a pas de support pour une vraie et complète bidirectionnalité
(bidi).
vim:tw=78:ts=8:ft=help:norl:fenc=latin1:nomod