Path Completion (bash)
August 10th, 2012
If you upgraded to Mountain Lion and often want to
~/Library/Application Support you might be a little annoyed by the new
Application Scripts directory that makes the normal "~/Library/Ap⇥
stop at~/Library/Application S‸` to have you disambiguate the path.
To avoid this you can set the
FIGNORE variable. From
FIGNORE A colon-separated list of suffixes to ignore when performing filename completion (see READLINE below). A filename whose suffix matches one of the entries in FIGNORE is excluded from the list of matched file- names. A sample value is ".o:~".
So if you set this in your bash startup file:
Then it will completely ignore that folder and do the full expansion.
Some other useful variables you can set in
~/.inputrc that (IMHO) improve the default behavior of filename completion:
completion-ignore-case (Off) If set to On, readline performs filename matching and completion in a case-insensitive fashion. mark-symlinked-directories (Off) If set to On, completed names which are symbolic links to directories have a slash appended (subject to the value of mark-directories). show-all-if-ambiguous (Off) This alters the default behavior of the completion functions. If set to On, words which have more than one possible completion cause the matches to be listed immediately instead of ringing the bell.
So my recommendation is to go with this:
set completion-ignore-case on set mark-symlinked-directories on set show-all-if-ambiguous on
The ignore case allows you to type
~/l⇥ and still get
Marking symlinked directories is useful for
Showing all when ambiguous instead of ringing the bell… who came up with these defaults?