Is there a way to disable the double tab key behaviour (pressing tab twice shows available commands in Bash)?


Bash uses readline for completion and key bindings. You can set your own options in ~/.inputrc, and system wide options in /etc/inputrc. If these do not exist, you can create them yourself. These are read at shell login, so changes you make are not in effect until you create a new login shell.

If you want to disable completion entirely, you can use a typical GNU "yes to no":

set disable-completion on

If you want completion, but just not with tab, you can bind tab to insert itself:

TAB: self-insert

This will allow you to still use completion with ESC ESC, or you can bind completion to another key of your liking, e.g. C-t:

TAB: self-insert
C-t: complete

There is a huge amount of customization you can do; I refer you to the Readline and Bash documentation for more information.

| improve this answer | |

You can pick and choose the key mappings you wish to disable without having to turn off autocomplete.

Example: To disable autocomplete for multiple Esc key presses add the following to your ~/.inputrc:

"\e\e": ""

Read the "Readline" section of the bash man page for detailed information.

| improve this answer | |

You can disable autocompletion completely. Some information:

I depends on what exactly do you want to do.

If you just want to disable advanced autocompletion you can either use "complete -r" or remove /etc/bash_completion*

Reading the man page for "complete" might help here. It's a shell thing, it really doesn't have anything to do with a particular distro or another.

| improve this answer | |

Another possibility - disable bash (and friends) entirely! There are plenty of other shells to use on Linux.

| improve this answer | |

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.