Attention: cette entrée est vielle. Il est possible qu’elle contienne de l’information dépassée ou qu’elle ne réflète plus mon opinion.
Dans un terminal, j’ai autant besoin de la touche « option », pour accéder aux glyphes comme « • » et aux accents, que de la touche « meta », qui donne accès à une foule de commandes alternatives utiles pour l’édition de texte.
Évidemment, une touche ne peut pas être deux choses à la fois, du moins sous Os X. Sur les systèmes de type Unix, on a souvent la touche « alt » de gauche qui sert de « meta », et le « alt » de droit pour accéder aux glyphes alternatifs.
Certains des raccourcis que j’utilise le plus fréquemment servent à naviguer par mot, en utilisant meta-flèche-gauche et meta-flèche-droite, et à effacer un mot à la fois, grâce à meta-backspace (« touche de rappel », « delete » sur les claviers Mac) pour le mot à gauche du curseur, avec meta-d pour le mot à droite du curseur.
Voici donc mes recettes pour ajouter ces raccourcis dans iTerm.
Qu’est-ce qu’une touche « meta » ?
Dans la plupart des terminaux, lorsqu’on presse une touche en gardant au préalable « meta » enfoncée, une échappe (« escape », 27 en décimal, 0x1b, 033 en octal) est d’abord émise, suivit de la valeur originale de la seconde touche.
Par exemple, garder enfoncé « meta » et appuyer sur « delete » envoi la séquence 0x27 0x7f, où 0x27 est l’échappe, et 0x7f la valeur hexadécimale généralement émise par la touche « delete » sur un Mac (un « backspace » en langage non-mac!).
Évidemment, il est possible d’appuyer consécutivement sur « échappe » et « delete », mais pour effacer une dizaine de mots, c’est chiant.
Les redirections de touches…
La méthode est toujours la même:
- dans iTerm, sélectionner le menu « Bookmarks », et ensuite « Manage Profiles… »;
- dans la nouvelle fenêtre qui apparaît, ouvrir « Keyboard Profiles » sur la gauche, et sélectionner « Global » (ou le profil que vous utilisez si ce n’est pas celui-là);
- cliquer sur le bouton « + » pour ajouter une redirection.
Effacer le mot suivant
Aussi connu sous le nom de « forward-kill-word » dans le monde Unix. Il est souvent relié à option-d et option-del (« del » sur un Mac est la touche « delete » sur les autres claviers : la touche au dessus des flèches sur un clavier pleine grandeur).
option-d:
| Champ | Valeur |
|---|---|
| Key | hex code, “0x64” in the box |
| Modifier | Option |
| Action | send escape sequence |
| Value | d |
| High interception priority | oui |
option-del:
| Champ | Valeur |
|---|---|
| Key | del |
| Modifier | Option |
| Action | send escape sequence |
| Value | d |
| High interception priority | non |
Effacer le mot précédent
Ici, iTerm rend les choses plus compliquées parce qu’il ne permet pas de spécifier un caractère à envoyer par sa valeur hexadécimale (ni décimale, ni octale). Par conséquent, on ne peut pas envoyer simplement « \e\x7f ».
Vous pourriez définir une séquence non standard, et ensuite la définir dans votre fichier .inputrc (et dans mon cas dans le .inputrc d’une foule de serveurs Linux, et dans la configuration d’une foule d’applications qui n’utilisent pas inputrc). Mais… il y a de meilleures solutions.
La première, et probablement la moins accessible, est d’appliquer une patch que j’ai postée plus tôt sur la version anglaise de ce site (voir iTerm: extend the “send text” action) et compiler iTerm vous-même.
La seconde est de coller le caractère 0x7f, qui est normalement associé à la touche de rappel (« delete » sur les Macs, et « backspace » sur les PCs).
Coller un caractère qui sert à effacer d’autres caractères peut sembler difficile, mais c’est possible!
| Champ | Valeur |
|---|---|
| Key | delete |
| Modifier | Option |
| Action | send escape sequence |
| Value | voir ci-bas |
| High interception priority | non |
La valeur « voir ci-bas » est le caractère 0x7f. Il y a plusieurs manières d’insérer ce caractère invisible.
(note: désolé pour les termes anglais, mon système d’exploitation est configuré en anglais, et je suis trop paresseux pour changer ça pour le temps de cet article!)
En utilisant le clavier « Unicode Hex Input »
Allez dans les préférences du système, et ajoutez le clavier « Unicode Hex Input ». Activez ce clavier. Dans la petite boîte de texte, maintenez la touche « option » enfoncée tout en tapant « 007f ». Vous ne verrez rien, mais le caractère devrait y être!
En utilisant la palette de caractères
Si vous avez le menu de claviers dans la barre au haut de votre écran, sélectionnez « Afficher la palette de caractères ». Dans « View », choisissez « Code Tables », ensuite « Unicode », et pour terminer « Basic Latin ».
Dans le tableau plus bas, allez à la ligne « 00700 », et la colonne « F ». Il devrait y avoir une case qui semble vide, juste à droite du tilde (« ~ »). Sélectionnez cette case en cliquant dessus. Le fond devrait tourner au bleu.
Cliquez dans la boîte de texte dans iTerm, et ensuite, dans la palette de caractères, cliquez « insérer ».
En utilisant UnicodeChecker
UnicodeChecker est un logiciel similaire à la palette de caractères.
Dans sa fenêtre, aller à la ligne « U+007F ». Cliquez ensuite dans la grosse boîte vide en haut à droite, sélectionnez tout (commande-a), copiez (commande-c), et collez dans la boîte de texte de iTerm (commande-v).
Commentaires
Il n’y a aucun commentaire pour cet article.