And*_*ohn 13 variables bash expansion bash-completion
假设我在这里定义了这些变量bashrc:
i='cgi-bin/internal';
e='cgi-bin/external';
f='cgi-bin/foo';
b='cgi-bin/bar';
ad='cgi-bin/admin';
#etc...
Run Code Online (Sandbox Code Playgroud)
当我在命令行上使用变量时vim $i/edit_TAB,它将扩展变量并且命令行上的输入变为vim /www/productX/subdomain_x/cgi-bin/internal/edit_(相应于我所在的任何站点)然后我TABTAB获得可能的完成.
没关系,功能不是问题.只是每次看到完整路径而不仅仅是变量的值会变得烦人.
有没有办法不在命令行上扩展bash变量而不影响功能?
是这样做的bash完成吗?
期望的结果$i不会扩展到它的价值(视觉上)或$i扩展到相对路径而不是完整路径.
您可以尝试使用zsh而不是bash. 在 zsh 中,
vim $i[tab]
Run Code Online (Sandbox Code Playgroud)
将 $i 扩展为相对路径
(Oh My Zsh也非常适合定制 zsh)