As an aside, I see we’re bringing the strangers thing over from Reddit. I hope more of the fun and funny stuff gets over, I miss some of the light shitposting.
Well completion-ignore-case is enough to solve this particular problem, the other options are just sugar on top :)
I’m going to add completion-prefix-display-length to these related bonus tips (I have it set to 9). This makes it a lot easier to compare files with long names in your tab completion.
For example if you have a folder with these files:
GNU Readline (which is what Bash uses for input) has a lot of options (e.g. making it behave like vim), and your settings are also used in any other programs that use it for their CLI which is a nice bonus. The config file is ~/.inputrc and you’d enable the above mentioned options like this
$include /etc/inputrc
set completion-ignore-caseonset show-all-if-ambiguous onset completion-map-caseonset completion-prefix-display-length 9
For bash, this is enough:
# Bash TAB-completition enhancements # Case-insensitive bind "set completion-ignore-case on" # Treat - and _ as equivalent in tab-compl bind "set completion-map-case on" # Expand options on the _first_ TAB press. bind "set show-all-if-ambiguous on"
If you also add e.g.
CDPATH=~/Documents
, it will also always autocomplete from your Documents no matter which directory you’re on.Setting
CDPATH=:~/Documents/Dev
makes navigating to any of my projects so much easier.Thanks for bringing it to my attention
Thanks kind stranger. Never knew of this.
No problem!
As an aside, I see we’re bringing the strangers thing over from Reddit. I hope more of the fun and funny stuff gets over, I miss some of the light shitposting.
Well
completion-ignore-case
is enough to solve this particular problem, the other options are just sugar on top :)I’m going to add
completion-prefix-display-length
to these related bonus tips (I have it set to 9). This makes it a lot easier to compare files with long names in your tab completion.For example if you have a folder with these files:
FoobarSystem-v20.69.11-CrashLog2022-12-22 FoobarSystem-v20.69.11.config FoobarSystem-v20.69.12 FoobarSystem-v20.69.12-CrashLog2023-10-02 FoobarSystem-v20.69.12.config FoobarSystem-v20.69.12.userprofiles
Just type
vim TAB
to see...1-CrashLog2022-12-22 ...1.config ...2 ...2-CrashLog2023-10-02 ...2.config ...2.userprofiles $vim FoobarSystem-v20.69.1
GNU Readline (which is what Bash uses for input) has a lot of options (e.g. making it behave like vim), and your settings are also used in any other programs that use it for their CLI which is a nice bonus. The config file is
~/.inputrc
and you’d enable the above mentioned options like this$include /etc/inputrc set completion-ignore-case on set show-all-if-ambiguous on set completion-map-case on set completion-prefix-display-length 9