I'm on a roll today, here's another question:

How come when I put these into .inputrc, they both do the same thing?

TAB: menu-complete
Shift-TAB: menu-complete-reverse

i.e. they both do whatever the last one says.


Readline doesn't know anything about a modifier called Shift, and quietly ignores unknown modifier names. Try wibble-TAB.

To bind an action to Shift+Tab, you need to find out what escape sequence your terminal sends. In bash, run cat and type Ctrl+V then Shift+Tab. This will insert the escape sequence literally. It's likely that the first character will be an escape character, shown as ^[; different terminals have different escape sequences, but common possibilities are ␛[Z (i.e. escape, left bracket, capital Z) and ␛␉ (i.e. escape, tab). Bind the key appropriately in ~/.inputrc (where \e means an escape character).

"\e\t": menu-complete-backward
"\e[Z": menu-complete-backward
|improve this answer|||||
  • 1
    Ah, ^[Z worked for me (BASH); thanks for the detailed answer! :) – user541686 Jul 19 '11 at 22:17
  • Do you press Enter before or after 'cat'? Why is 'cat' needed? I seem to get the same escape sequences without 'cat'. – dougkramer Nov 5 '14 at 18:14
  • @douglas.kramer Running cat avoids any bash binding. Usually bash has the same Ctrl+V binding to insert the next character literally so it doesn't make a difference. – Gilles 'SO- stop being evil' Nov 5 '14 at 18:20
  • I'm having trouble getting Shift+Tab to bind to 'shell-expand-command'. I get: $ cat <Enter> <Shift+Tab> which displays ^[[Z Do I always add \e ahead of the sequence I get from Ctrl+V? Does this translate to: "\e^[[Z": shell-expand-command – dougkramer Nov 5 '14 at 18:34
  • @dou Replace ^[ by `\e` – Gilles 'SO- stop being evil' Nov 5 '14 at 20:03

On Xubuntu 16.04, terminal: xfce4-terminal 0.6.3, shell: bash

For Shift+Tab to work I had to use:

bind '"\e[Z": menu-complete-backward'
|improve this answer|||||
  • In ~/.bash_profile use: bind TAB:menu-complete and bind '"\e[Z": menu-complete-backward' (note the usage of single and double quotes!). – Erik Sep 21 '18 at 10:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.