завершение вкладки bash без расширения переменной? - PullRequest
13 голосов
/ 08 февраля 2011

Допустим, у меня есть эти переменные, определенные в моем 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 расширяется до относительного пути, а не до полного пути.

Ответы [ 3 ]

2 голосов
/ 13 ноября 2011

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

vim $i[tab]

увеличивает $ i до относительного пути

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

0 голосов
/ 05 мая 2017

Использование shopt -u progcomp работало для меня, после этого вкладка больше не расширяла переменные.Документ Shopt https://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html

0 голосов
/ 15 июня 2016

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

complete -r -v
...