51

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
  • 1,932
  • 6
  • 27
  • 36

2 Answers2

86

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'
u1686_grawity
  • 426,297
  • 64
  • 894
  • 966
  • 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 Aug 07 '13 at 00:56
  • 3
    On some terminals C-x, C-r didn't work for me so I use `bind -f ~/.inputrc` – blockloop Aug 01 '14 at 20:05
  • 3
    This 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 Oct 07 '14 at 13:57
  • 1
    what is this line `$include /etc/inputrc` for? – razzak Dec 09 '15 at 17:30
  • @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. – u1686_grawity Dec 09 '15 at 19:16
  • @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 Dec 09 '15 at 19:38
  • For some it does, for others it doesn't. – u1686_grawity Dec 09 '15 at 19:59
  • Would there be a problem with placing `set mark-symlinked-directories on` in the `/etc/inputrc' file itself? – Marten Koetsier Sep 04 '22 at 07:58
5

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
  • 2,564
  • 3
  • 21
  • 20