Aller au contenu principal

đź—’ 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-dircycle

Map 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/ohmyzsh

Explications​

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 " " globalias

The actual call that'll be done will be:

bindkey "^ " globaliasbindkey " " magic-space

Pour 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 for syntax, and when zi load … is used, then the bindmap'…' ice works normally.

Dans le cadre de la non-enquĂŞte:

  • le light mode - activĂ© lorsque zi light … ou le light-mode est utilisĂ©-le bindmap'…' n'est pas disponible, sauf si la la glace trackbinds est 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-word

Avec l'utilisation de la syntaxe traditionnelle:

zi ice trackbinds bindmap'^R -> ^G'zi light z-shell/history-search-multi-word

Utilisation 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é.