Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

Ubuntu's Terminal uses case-sensitive auto-completion, as I suppose would be expected for Linux.

But I think it would often be more convenient to use a case-insensitive one instead, to save you having to be accurate while starting a name, and would probably be worth the extra false positives. Is it possible to change this behaviour?

share|improve this question
    
Just to say regarding the tagging, I put "terminal" because I wasn't sure whether it was bash-specific or not. Please retag if appropriate. –  mwfearnley Dec 12 '11 at 18:54

2 Answers 2

up vote 36 down vote accepted

Open a terminal, run

# If ~./inputrc doesn't exist yet, first include the original /etc/inputrc so we don't override it
if [ ! -a ~/.inputrc ]; then echo "\$include /etc/inputrc" > ~/.inputrc; fi

# Add option to ~/.inputrc to enable case-insensitive tab completion
echo "set completion-ignore-case On" >> ~/.inputrc

Start a new shell / terminal

to make this change for all users, edit /etc/inputrc

For details , see man bash . Yes it is a long page, but bash is a somewhat complex program, and if you want just search that page for "case-insensitive" to go to the relevant section. People usually learn bash one option at a time or one bash script at a time and it takes a long time to master all the nuances. Your interest may vary.

share|improve this answer
    
Thanks. I appreciate the user-specific/non-admin friendly solution. The echo line seems to have worked, but now I seem to have lost the ability to use Ctrl-Left/Right to move the cursor. Also, would >> be safer than >? –  mwfearnley Dec 12 '11 at 6:27
    
In general >> is going to be safer, my mistake, I was assuming you did not have a ~/.inputrc . I also set noclobber =) Bit sure why your arrow keys are not working, I can not replicate that. You can remove ~/.inputrc and start a new shell. –  bodhi.zazen Dec 12 '11 at 6:30
    
Yeah, it works again if I remove it.. According to linuxfromscratch.org/blfs/view/5.1/postlfs/inputrc.html the new inputrc might be overriding the global one? –  mwfearnley Dec 12 '11 at 7:00
    
On my system, I can move the cursor with just the arrow keys. –  bodhi.zazen Dec 12 '11 at 7:14
    
@enzotib thanks, that works.. I'd like to accept the above answer, but it would be good to see this issue addressed in it. –  mwfearnley Dec 12 '11 at 18:49

Open a terminal and type the below command:

echo set completion-ignore-case on | sudo tee -a /etc/inputrc

Enter password. Restart terminal.

If in some case you want to remove case insensitive, just edit /etc/inputrc file by removing the set completion-ignore-case line.

That's all.

share|improve this answer
    
OK, I clarified that for you. It takes a while to learn about bash, but keep exploring, reading, and asking. linuxcommand.org is a popular start ;) –  bodhi.zazen Dec 14 '11 at 16:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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