*if_ole.txt* Pour Vim version 6.2c.
MANUEL de RÉFÉRENCE VIM - par Paul Moore
L'Interface OLE pour Vim
1. Activation |ole-activation|
2. Méthodes |ole-methods|
3. La commande "normal" |ole-normal|
4. Enregistrement |ole-registration|
5. Intégration à MS Visual Studio |MSVisualStudio|
{Vi ne possède aucune de ces commandes}
OLE est disponible uniquement si compilé avec la fonctionnalité |+ole|. Voir
src/if_ole.INSTALL.
Une alternative est d'utiliser |clientserver|, la communication
client-serveur.
==============================================================================
1. Activation
Vim se comporte comme un serveur OLE Automation et est alors accessible par
n'importe quel client automation, comme par exemple Visual Basic, Python,
ou Perl. Le "nom" de l'application Vim (son "ProgID" dans la terminologie OLE)
est "Vim.Application".
En conséquence, pour démarrer une instance Vim (ou pour se connecter à une
instance déjà existante), on doit utiliser du code similaire à celui qui
suit :
[Visual Basic][Python][Perl]Vim ne peut se comporter comme un serveur OLE "caché", tel que peuvent le
faire d'autres serveur OLE automation. Quand un client active une instance
de Vim, cette instance est immédiatement visible. La simple fermeture de la
connexion OLE à l'instance Vim n'est pas suffisante pour arrêter l'instance
Vim - il est nécessaire d'exécuter une commande de type quitter de manière
explicite (par exemple :qa! ou :wqa).
==============================================================================
2. Méthodes *ole-methods*
Vim propose quatre méthodes utilisables par les clients.
*ole-sendkeys*
SendKeys(keys) Exécute une série de touches clavier.
Cette méthode prend un seul paramètre, qui est une chaîne de caractères
représentant des touches clavier. Ces touches clavier sont exécutées
exactement comme si elles avaient été tapées sur le clavier. Les touches
spéciales peuvent être spécifiées en utilisant leur nom entre les symboles
< et >.
NOTE : L'exécution de la commande Ex "normal" n'est pas possible - voir
|ole-normal| ci-après.
Exemples (syntaxe Visual Basic)Ces exemples supposent que Vim démarre en mode Normal. Pour forcer le mode
Normal, débutez la séquence des touches avec CRTL-\ CRTL-N comme suit :CTRL-\ CTRL-N renvoie Vim en mode Normal que Vim se trouve en mode
Insertion ou en mode ligne de commande.
Notez que ceci ne marche pas au beau milieu d'une commande Vim.
*ole-eval*
Eval(expr) Évaluation d'une expression
Cette méthode prend un seul paramètre qui est une expression au format
normal Vim (voir |expression|). Elle renvoie une chaîne de caractères
contenant le résultat de l'évaluation de l'expression.
Exemples (syntaxe Visual Basic)
*ole-setforeground*
SetForeground() Mettre la fenêtre Vim au premier plan
Cette méthode ne prend aucun argument. Aucune valeur n'est renvoyée.
Exemple (syntaxe Visual Basic)
*ole-gethwnd*
GetHwnd() Renvoie le descripteur de la fenêtre Vim
Cette méthode ne prend pas d'argument. Elle renvoie le descripteur de la
fenêtre principale de Vim. Vous pouvez utiliser cette méthode si vous
développez quelque chose qui a besoin de manipuler la fenêtre Vim, de la
repérer dans le Z-Order (Le Z-Order indique la position d'une fenêtre dans
la couche des fenêtres), etc.
Exemple (syntaxe Visual Basic)
==============================================================================
3. La commande "normal" *ole-normal*
La façon qu'a Vim d'exécuter les commandes OLE Automation ainsi que la
méthode d'implémentation de la commande Ex :normal, empêchent l'utilisation
de la commande :normal par OLE Automation. Toute tentative est vouée à
l'echec, probablement sans risque bien que ce puisse être imprédictible.
Il n'y a pour le moment pas d'échappatoire à cette situation. Les
utilisateurs doivent simplement être conscients de cette limite.
==============================================================================
4. Enregistrement *ole-registration* *E243*
Avant que Vim ne joue le rôle d'un serveur OLE, il doit être enregistré dans
la base de registres. Pour ce faire, Vim doit être lancé avec le seul
paramètre "-register"
*-register* Si gvim avec support OLE est exécuté et s'aperçoit qu'aucun serveur OLE Vim
n'a été enregistré dans la base de registres, une boîte de dialogue
apparaîtra et vous permettra d'enregistrer un serveur OLE Vim en cliquant sur
le bouton "Yes".
Parfois, l'enregistrement est impossible. Cela arrive lorsque la base de
registres est en lecture seule. Si vous rencontrez ce problème, vous aurez
besoin d'exécuter gvim en tant qu'administrateur.
Une fois que Vim est enregistré, le chemin de l'application est stocké dans
la base de registres. Avant de déplacer, supprimer, ou mettre à jour Vim, les
entrées de la base de registres doivent être ôtées en utilisant l'option
"-unregister".
*-unregister* Le mécanisme OLE utilisera le premier enregistrement de Vim qu'il trouvera.
Si un Vim est déjà actif, il l'utilisera. Si vous voulez avoir (plusieurs)
sessions Vim ouvertes qui ne doivent pas répondre aux commandes OLE, utilisez
la version sans OLE et placez la dans un répertoire différent. La version OLE
devrait alors être placée dans un répertoire qui n'est pas référencé par la
variable d'environnement PATH, de sorte à ce que l'invocation de "gvim"
démarre la version sans OLE.
*-silent*
Pour éviter l'apparition de la boîte message indiquant le résultat de
l'enregistrement, placez "-silent" avant "-register" ou "-unregister".
==============================================================================
5. Intégration à MS Visual Studio *MSVisualStudio* *VisVim*
La version OLE peut être utilisée pour avoir Vim comme éditeur dans Microsoft
Visual Studio. Cette version, appelée "VisVim", est incluse dans l'archive qui
contient la version OLE. La documentation peut être trouvée dans le fichier
README.txt du répertoire VisVim.
==============================================================================
vim:tw=78:ts=8:ft=help:norl: