Bash завершение вкладки без расширения переменной?

Скажем, у меня есть эти переменные, определенные в моем bashrc:

i='cgi-bin/internal';  
e='cgi-bin/external';  
f='cgi-bin/foo';  
b='cgi-bin/bar';  
ad='cgi-bin/admin';  
#etc...

Когда я использую переменную в командной строке vim $i/edit_ TAB, она расширяет эту переменную, а ввод в командной строке становится vim /www/productX/subdomain_x/cgi-bin/internal/edit_ (соответствует любому сайту, на котором я включен), а затем я TAB TAB, чтобы получить возможные доработки.

Это прекрасно, функциональность не проблема. Это просто, что он может раздражаться, чтобы видеть полный путь каждый раз, а не просто значение переменной.

Есть ли способ не развернуть переменные bash в командной строке без ущерба для функциональности?
Выполняется ли это bash завершение?

Желаемый результат будет $i не расширяться до значения (визуально) или $i, расширяющегося до относительного пути, а не полного пути.

Ответы

Ответ 1

Вы можете попробовать использовать zsh вместо bash. В zsh,

vim $i[tab]

расширяет $i до относительного пути

(Также Oh My Zsh отлично подходит для настройки zsh)

Ответ 2

Я не уверен, какие другие настройки вы используете в своих сценариях запуска bash, но для меня следующая команда bash выполняет трюк:

complete -r -v