For a long time, I have been used to being able to type something like:
$opt/foo/m
and so on to navigate my project within different environments. It is really useful: just set up $opt (say, /home/$USER/projects/opt – and go from your dev user, to qa, to live, and $opt is $opt.
As of the release of bash4.2, this behavior has changed. Now tab completion leads to an escaped $ sign.
$opt/foo => \$opt/foo <= not at all what I meant!
While the maintainers are discussing how this should work, I would like to find a new set of habits I could use to get back to my comfort zone. What would be a good trick? Something that my fingers could learn, to have some root configured and go from there without worrying about where I am.
The workarounds suggested here and elsewhere either failed altogether for me, or were too cumbersome to type.
Eventually, a friend recommended using zshell (zsh). It works! I did no customizations, leaving my .zshrc blank.
Now I got my tab completion back in order. It works a little differently than I am used to: a mix of old bash-style and vi-style. Pressing tab displays a list of multiple options are possible, then tabbing again will start selecting from that list and alternating, like vi.
I am pretty happy.