Bash autocomplete on symlink to directory complete to whole directory, including slash

44

16

Possible Duplicate:
Tab-completion with directories/links

when I've a symlink foo linking to a directory bar/ and I start typing f and hit tab, it completes to foo but I'd like to complete it to foo/ so I can immediately add the next character for further completes. How can I do that?

mark

Posted 2011-04-16T12:58:49.037

Reputation: 1 722

Question was closed 2011-04-16T18:42:47.043

Answers

71

Enable the mark-symlinked-directories option for readline.

  1. Edit ~/.inputrc:

    $include /etc/inputrc
    set mark-symlinked-directories on
    
  2. Press C-x, C-r to reload the settings.

See section READLINE in the manual page of bash for further documentation.

For those who do not wish to add another dot file, you can also add this line to your ~/.bashrc:

bind 'set mark-symlinked-directories on'

user1686

Posted 2011-04-16T12:58:49.037

Reputation: 283 655

3On some terminals C-x, C-r didn't work for me so I use bind -f ~/.inputrc – blockloop – 2014-08-01T20:05:57.437

3This shows the power of stackexchange combined with a simple answer and well-formulated question, answered my question in first attempt, got here via google, thanks. :) – DusteD – 2014-10-07T13:57:19.090

1what is this line $include /etc/inputrc for? – razzak – 2015-12-09T17:30:44.790

@razzak: Loads additional settings from that file, which usually has various standard keybindings for common terminals. (Usually they get loaded automatically, but if you have an ~/.inputrc of your own, you need to load the system-wide one manually.) See section READLINE in the manual page of bash for further documentation. – user1686 – 2015-12-09T19:16:44.163

@grawity Thanks, i thought this happens by default for these type of files!, going to check manual pages for .bashrc and .vimrc now after reading this :-) – razzak – 2015-12-09T19:38:51.173

For some it does, for others it doesn't. – user1686 – 2015-12-09T19:59:03.670

Thank you so much, I've been dealing with the differences between OSX (defaults to on) and Linux (defaults to off) for months, and I finally got fed up enough to google it! You're my new hero. :) – staticfloat – 2013-08-07T00:56:46.387

4

I don't know if you can do it exactly as you've described, but if you hit tab twice, it should complete the exapansion.

Kevin M

Posted 2011-04-16T12:58:49.037

Reputation: 2 396