On Thu, Feb 11, 2010 at 10:36 AM, Chet Ramey <chet.ra...@case.edu> wrote: > On 2/11/10 11:05 AM, Peng Yu wrote: >> On Thu, Feb 11, 2010 at 9:58 AM, Chet Ramey <chet.ra...@case.edu> wrote: >>> On 2/11/10 10:54 AM, Peng Yu wrote: >>>> Suppose I file 'a1.txt' and 'a2.txt' in my current directory. When I >>>> type 'cat a' then TAB, it will show me 'a1.txt' and 'a2.txt'. If I >>>> type TAB repeatedly, it will always show me the same thing. >>>> >>>> However, a better response might be >>>> 1. complete the command to 'cat a1.txt' at the 2nd TAB, >>>> 2. complete the command to 'cat a2.txt' at the 3rd TAB, >>>> 3. return to the original 'cat a' at the 4th TAB, >>>> 4. complete the command to 'cat a1.txt' again at the 5th TAB. >>>> >>>> I'm wondering if there is a way to configure bash this way. >>> >>> bind 'TAB:menu-complete' >> >> This is helpful. But it is not exactly what I'm looking for. I still >> want to show 'a1.txt' and 'a2.txt' at the 1st TAB. The above bind >> command gives me 'cat a1.txt' directly at the 1st TAB. > > Look at the 'show-all-if-ambiguous' option. The combination may do what > you want.
set show-all-if-ambiguous On bind 'TAB:menu-complete' I typed in the above two commands. It seems that command completion is the same as if I only typed in the second command. Do you know why?