Readline ne sait rien d'un modificateur appelé Shiftet ignore discrètement les noms de modificateurs inconnus. Essayez wibble-TAB.
Pour lier une action à Shift+ Tab, vous devez savoir quelle séquence d'échappement votre terminal envoie. En bash, exécutez catet tapez Ctrl+ Vpuis Shift+ Tab. Cela insérera la séquence d'échappement littéralement. Il est probable que le premier caractère soit un caractère d'échappement, représenté par ^[; différents terminaux ont des séquences d'échappement différentes, mais les possibilités courantes sont ␛[Z(c'est-à-dire d'échappement, crochet gauche, Z majuscule) et ␛␉(c'est-à-dire d'échappement, tabulation). Liez la clé de manière appropriée ~/.inputrc(où \esignifie un caractère d'échappement).
Ah, a ^[Ztravaillé pour moi (BASH); Merci pour la réponse détaillée! :)
user541686
Appuyez-vous sur Entrée avant ou après «chat»? Pourquoi «chat» est-il nécessaire? Il me semble obtenir les mêmes séquences d'échappement sans «chat».
dougkramer
@ douglas.kramer Running catévite toute liaison bash. Habituellement, bash a la même liaison Ctrl + V pour insérer littéralement le caractère suivant afin que cela ne fasse aucune différence.
Gilles 'SO- arrête d'être méchant'
J'ai du mal à faire en sorte que Shift + Tab soit lié à «shell-expand-command». J'obtiens: $ cat <Enter> <Shift+Tab>qui affiche ^[[Z Est-ce que j'ajoute toujours \eavant la séquence que j'obtiens Ctrl+V? Est-ce que cela se traduit par:"\e^[[Z": shell-expand-command
dougkramer
@dou Replace ^[by `\ e`
Gilles 'SO- arrête d'être méchant'
4
Sur Xubuntu 16.04, terminal: xfce4-terminal 0.6.3, shell: bash
En cours d' ~/.bash_profileutilisation: bind TAB:menu-completeet bind '"\e[Z": menu-complete-backward'(notez l'utilisation de guillemets simples et doubles!).
^[Z
travaillé pour moi (BASH); Merci pour la réponse détaillée! :)cat
évite toute liaison bash. Habituellement, bash a la même liaison Ctrl + V pour insérer littéralement le caractère suivant afin que cela ne fasse aucune différence.$ cat <Enter> <Shift+Tab>
qui affiche^[[Z
Est-ce que j'ajoute toujours\e
avant la séquence que j'obtiensCtrl+V
? Est-ce que cela se traduit par:"\e^[[Z": shell-expand-command
^[
by `\ e`Sur Xubuntu 16.04, terminal: xfce4-terminal 0.6.3, shell: bash
Pour que Shift+ Tabfonctionne, j'ai dû utiliser:
la source
~/.bash_profile
utilisation:bind TAB:menu-complete
etbind '"\e[Z": menu-complete-backward'
(notez l'utilisation de guillemets simples et doubles!).