*map.txt* Pour Vim version 6.2. MANUEL de RÉFÉRENCE VIM - par Bram Moolenaar Mappages de touches, abréviations et commandes utilisateur Ces sujets sont abordés dans les sections |05.3|, |24.7| et |40.1| du Manuel de l'utilisateur. 1. Mappages de touches |key-mapping| 2. Abréviations |abbreviations| 3. Fonctions et mappages locaux |script-local| 4. Commandes utilisateur |user-commands| ============================================================================== 1. Mappages de touches *key-mapping* *mapping* *macro* Le mappage de touches est utilisé pour modifier la signification des touches saisies. L'utilisation la plus commune est la définition d'une séquence de commandes pour une touche de fonction. Exemple : > :map a=strftime("%c") Ceci ajoute la date et l'heure courante après le curseur. (Sur la notation <>, voir |<>|.) Il existe des commandes pour entrer de nouveaux mappages, les supprimer et les lister. Voir |map-overview| pour un récapitulatif de ces différentes commandes et de leurs relations avec les modes d'édition. {ctg} est mis pour « côté gauche » *{lhs}* *{ctg}* {ctd} est mis pour « côté droit » *{rhs}* *{ctd}* :map {ctg} {ctd} *:map* :nm[ap] {ctg} {ctd} *:nm* *:nmap* :vm[ap] {ctg} {ctd} *:vm* *:vmap* :om[ap] {ctg} {ctd} *:om* *:omap* :map! {ctg} {ctd} *:map!* :im[ap] {ctg} {ctd} *:im* *:imap* :lm[ap] {ctg} {ctd} *:lm* *:lmap* :cm[ap] {ctg} {ctd} *:cm* *:cmap* Mappe la séquence clavier {ctg} à {ctd} pour les modes où la commande s'applique. On teste ensuite si d'autres mappages s'appliquent au résultat, comprenant {ctd}. Cela autorise l'utilisation de mappages imbriqués et récursifs. :no[remap] {ctg} {ctd} *:no* *:noremap* :nn[oremap] {ctg} {ctd} *:nn* *:nnoremap* :vn[oremap] {ctg} {ctd} *:vn* *:vnoremap* :ono[remap] {ctg} {ctd} *:ono* *:onoremap* :no[remap]! {ctg} {ctd} *:no!* *:noremap!* :ino[remap] {ctg} {ctd} *:ino* *:inoremap* :lno[remap] {ctg} {ctd} *:ln* *:lnoremap* :cno[remap] {ctg} {ctd} *:cno* *:cnoremap* Mappe la séquence clavier {ctg} à {ctd} pour les modes où la commande s'applique. Interdit le mappage de {ctd}, afin d'éviter des mappages imbriqués et récursifs. Souvent utilisé pour redéfinir une commande. {absent de Vi} :unm[ap] {ctg} *:unm* *:unmap* :nun[map] {ctg} *:nun* *:nunmap* :vu[nmap] {ctg} *:vu* *:vunmap* :ou[nmap] {ctg} *:ou* *:ounmap* :unm[ap]! {ctg} *:unm!* *:unmap!* :iu[nmap] {ctg} *:iu* *:iunmap* :lu[nmap] {ctg} *:lu* *:lunmap* :cu[nmap] {ctg} *:cu* *:cunmap* Supprime le mappage de {ctg} pour les modes où la commande s'applique. Le mappage pourra rester défini pour les autres modes où il s'applique. NOTE : Les espaces finaux sont inclus dans {ctg}. Ainsi, ce démappage ne fonctionne PAS : > :map @@ toto :unmap @@ | print :mapc[lear] *:mapc* *:mapclear* :nmapc[lear] *:nmapc* *:nmapclear* :vmapc[lear] *:vmapc* *:vmapclear* :omapc[lear] *:omapc* *:omapclear* :mapc[lear]! *:mapc!* *:mapclear!* :imapc[lear] *:imapc* *:imapclear* :lmapc[lear] *:lmapc* *:lmapclear* :cmapc[lear] *:cmapc* *:cmapclear* Supprime TOUS les mappages pour les modes où la commande s'applique. {absent de Vi} ATTENTION : Cela supprime également les mappages de défaut. :map :nm[ap] :vm[ap] :om[ap] :map! :im[ap] :lm[ap] :cm[ap] Liste tous les mappages de touches pour les modes où la commande s'applique. NOTE : ":map" et ":map!" sont les plus souvent utilisés, car ils incluent les autres modes. :map {ctg} *:map_l* :nm[ap] {ctg} *:nmap_l* :vm[ap] {ctg} *:vmap_l* :om[ap] {ctg} *:omap_l* :map! {ctg} *:map_l!* :im[ap] {ctg} *:imap_l* :lm[ap] {ctg} *:lmap_l* :cm[ap] {ctg} *:cmap_l* Liste les mappages pour les séquences clavier débutant par {ctg} dans les modes où la commande s'applique. {absent de Vi} Ces commandes sont utilisées pour mapper une touche ou une séquence clavier à une chaîne de caractères. Vous pouvez vous en servir pour associer des séquences de commandes aux touches de fonction, redéfinir une touche, etc. Voir |:mkexrc| pour sauvegarder et restaurer les mappages en cours. *:map-local* *:map-* *E224* *E225* Si le premier argument d'une de ces commandes est "", elle ne s'appliquera qu'aux seuls mappages locaux du tampon courant. Exemple : > :map ,p /[.,;] Vous pouvez alors mapper ",p" à une autre commande dans un autre tampon : > :map ,p /[#&!] Les mappages locaux de tampon sont utilisés avant les globaux. L'argument "" peut aussi être utilisé pour effacer les mappages : > :unmap ,p :mapclear Les mappages locaux sont également effacés lorsqu'un tampon est supprimé, mais pas quand il est déchargé. Comme les valeurs des options locales. *:map-* *:map-silent* Pour définir un mappage qui n'aura pas d'écho sur la ligne de commande, ajoutez "" en premier argument. Exemple : > :map ,z /Zorglub Le motif de recherche ne sera pas retourné en écho si vous utilisez ce mappage. Les messages de la commande exécutée seront toujours donnés normalement. Pour les faire taire aussi, ajoutez ":silent" à la commande exécutée : > :map ,z :exe ":silent normal /Zorglub\r" Les invites seront toujours données, p. ex., pour inputdialog(). L'utilisation de "" pour une abréviation est possible, mais entraînera l'échec du rafraîchissement de la ligne de commande. *:map-