J'essaie de cartographier ⌘+Delete (retour arrière) à supprimer au début de la ligne (comme cela fonctionne dans les navigateurs et les éditeurs de texte) dans iTerm2 et je ne parviens pas à trouver un code d'échappement pour cela. J'ai essayé 1K (^[1K
) basé sur ce que j'ai lu dans Wikipedia . Il imprime juste un "K".
Edit: j'ai trouvé Ctrl+U. Maintenant pour savoir comment le cartographier. Peut-être que le code Hex 21 (U étant la 21ème lettre), donc 0x15?
J? ai compris. Je ne sais pas pourquoi les mappages de code hexadécimal dans iTerm2 produisent les mappages de touches Ctrl + associés, mais ils le font. Aucune idée de ce que 0x00 signifie non plus, car il n'est pas affecté à A comme on pourrait s'y attendre. (Bien que je pense que Unix a ses propres conventions concernant le traitement des octets nuls - nous avons par exemple xargs
acceptant un format de délimitation des octets nuls de find
par exemple - Il serait judicieux de le lier à un raccourci clavier avec iTerm2)
J'ai pu constater que Ctrl + U accomplissait presque exactement la tâche que je souhaitais (il supprime la ligne entière au lieu de ne supprimer que ce qui précède le curseur, mais peu importe ... Ctrl + Y en bonus peut tout ramener). Puis, curieusement, j'ai vu que les codes hexadécimaux 0x1
et 0x5
étaient mappés sur ^A
et ^E
, respectivement, pour mes commandes Cmd + Left et Cmd + Right ... donc 0x15
correspond à ^U
!
Mappage du code hexadécimal 0x15
à ⌘ + ←Delete dans la plupart des shells, supprime la ligne entière (contenu à gauche et à droite du curseur). Bien que parfois pas aussi compatible, je trouve cette cartographie:
⌘+←Delete envoyer des codes Hex:
0x18 0x7f
effectue la fonctionnalité désirée. Si vous utilisez ZSH, vous devrez probablement également ajouter ceci à votre fichier .zshrc:
$ echo 'bindkey "^X\\x7f" backward-kill-line' >> ~/.zshrc
comme par défaut, ZSH ne mappe pas backward-kill-line
à quoi que ce soit.
J'ai écrit un guide complet sur l'ajout de la plupart des combinaisons de touches standard OSX à votre terminal ici
J'espère que cela vous aidera http://felipecsl.com/blog/2012/06/05/protip-delete-words-on-iterm2-mac-osx/
map ⌥ <- Supprimer pour envoyer des codes Hex: 0x1B 0x08
J'ai eu un test pour cela, et c'est correct.
18.09.2013 mise à jour
cela supprime un mot, pas une ligne.
Dans OSX, ⌥ + ⌫ et ⌘ + ⌫ sont les raccourcis permettant de supprimer un mot et de supprimer une ligne, respectivement. ⌘ + ← et ⌘ + → sont pour aller au début et à la fin des lignes. Par défaut, iTerm2 n'est pas configuré de cette façon et il existe de nombreux guides trompeurs en ligne. Voici ce que j'ai trouvé fonctionner sur ma machine.
Les codes hexadécimaux pour ...
Voici une capture d'écran, pour plus de clarté:
Comme indiqué, ^U
supprime la ligne. Vous pouvez facilement remapper la commande en utilisant Better Touch Tool .
Il a également des fonctionnalités intéressantes pour l'automatisation, la souris, le pavé numérique et le mappage du clavier. Inclut également une fonctionnalité de fenêtre pour les bordures intelligentes.