đź—’ Carte de Bindkeys
Bindkey​
Les mappages de clés bindkey peuvent être très confus à déchiffrer. Il peut utiliser plusieurs notations différentes, mais il est judicieux d'utiliser la même notation de clé dans toute votre configuration.
Vous pouvez imprimer toutes vos liaisons de touches actuelles dans la carte des touches en cours avec bindkey. To print the full bindkey command to add to your .zshrc file use bindkey -L.
In general, you'll bind a widget so a key sequence or a key with a modifier. This can be declared in caret notation using ^, using escape sequences using \, in octal (\NNN), hex (\xNN), or Unicode (\uNNNN). Aucune d'entre elles n'est particulièrement intéressante à lire pour les gens.
C'est également délicat car cela dépend de votre clavier, de votre système d'exploitation et de votre shell. Voici quelques principes de base
\e,\E, = Échap^[= touche Alt (sur certains claviers, c'est la même chose que Echap)^ ?= Supprimer^X,^= Contrôle
Les touches qui viennent après le modificateur peuvent ajouter encore plus de confusion.
Supprimer la liaison​
Pour supprimer une liaison de touches, vous pouvez utiliser bindkey -d $KEYS. Make sure you don't delete the characters you need for typing.
Les raccourcis clavier bindmap'…'​
Parfois, les plugins appellent bindkey pour attribuer des raccourcis clavier. Cela peut poser des problèmes car plusieurs plugins peuvent lier les mêmes clés.
De plus, l'utilisateur peut vouloir une ou plusieurs liaisons différentes, ce qui nécessitera des commandes supplémentaires compliquées bindkey dans .zshrc.
Zi fournit une solution à ce problème - la possibilité de remapper les bindkeys avec un court ice-modifier spécification avec le bindmap'…' ice.
Exemples pour bindmap'…'​
Map Ctrl-G instead of Ctrl-R for the history searcher.
zi bindmap'^R -> ^G' for z-shell/history-search-multi-word
Map Ctrl-Shift-Left and Ctrl-Shift-Right used by URxvt instead of the Xterms' ones. Chargez avec le bindkey-tracking ↔ avec le light-loading pour tout le reste.
Could also separate the bindmaps with a semicolon, i.e.:
bindmap'"\\e[1\;6D" -> \\e[1\;5D ; "\\e[1\;6C" -> ^[[1\;5C' \
zi wait light-mode trackbinds bindmap'"\\e[1\;6D" -> \\e[1\;5D"' \ bindmap'"\\e[1\;6C" -> ^[[1\;5C' pick'dircycle.zsh' for \ michaelxmcbride/zsh-dircycleMap space to regular space and Ctrl-Space to the `globalias' widget, which expands the alias entered on the left, provided by OMZ globalias plugin.
zi bindmap='!" " -> magic-space; !"^ " -> globalias' nocompletions \ depth=1 pick=plugins/globalias/globalias.plugin.zsh for \ ohmyzsh/ohmyzshExplications​
The bindmap'…' ice has two modes of operation: normal and exclamation-mark (bindmap'!…'). In the first mode, the remapping is being done from-key to-key, i.e.: bindmap'fromkey -> to-key'.
La clé donnée est remplacée par la deuxième clé donnée dans la commande bindkey qui est lancée lors du chargement du plugin. In the second mode, the remapping is being done from-key to-widget, e.g: bindmap'!from-key -> to-widget'.
In this mode, the given key is being mapped to the given widget instead of the widget specified in the bindkey command e.g.:
Au lieu de:
bindkey "^ " magic-spacebindkey " " globaliasThe actual call that'll be done will be:
bindkey "^ " globaliasbindkey " " magic-spacePour le bindmap=' !" " -> magic-space ; !"^ " -> globalias' ice.
Utilisation de la bindmap '…' en mode léger​
When the investigation mode is on i.e.:
- when the full loading mode is being used, default in the
forsyntax, and whenzi load …is used, then thebindmap'…'ice works normally.
Dans le cadre de la non-enquĂŞte:
- le light mode - activé lorsque
zi light …ou lelight-modeest utilisé-lebindmap'…'n'est pas disponible, sauf si la la glacetrackbindsest spécifié:
Avec l'utilisation de la glace en mode lumière et de la syntaxe for:
zi light-mode for trackbinds bindmap'^R -> ^G' \ z-shell/history-search-multi-wordAvec l'utilisation de la syntaxe traditionnelle:
zi ice trackbinds bindmap'^R -> ^G'zi light z-shell/history-search-multi-wordUtilisation des raccourcis de UPAR​
Il y a quatre valeurs spéciales qui peuvent être utilisées sur le côté gauche du bind-map: UPAR, DOWNAR, LEFTAR, RIGHTAR. Elles correspondent à la flèche vers le haut, la flèche vers le bas, etc. Il est donc possible de faire:
zi bindmap='LEFTAR -> ^F; RIGHTAR -> ^G' …
L'avantage d'utiliser les raccourcis UPAR, … est qu'ils couvrent plusieurs codes de touche de curseur possibles pour chacune des touches de curseur afin qu'ils fonctionnent quel que soit le terminal utilisé.