禁止路径中的变量扩展

禁止路径中的变量扩展

如何防止 Zshell(我假设是 Bash)扩展路径中的环境变量,如以下示例所示:

$PREFIX/alt/li

应该扩展到

$PREFIX/alt/lib

更不用说

/opt/alt/lib

答案1

这是 zsh 下的默认行为。和complete-wordexpand-or-complete 小部件不要扩展值为目录名的参数,只要/后面有一个(即$foo/<TAB>)。

有很多方法可以自定义此行为。例如,也许您已设置Tab运行expand-or-complete-prefix.还有风格例如expandkeep-prefix也会影响这种行为。

答案2

假设您有一个名为 的文字目录$PREFIX,只需在, for\之前添加一个,然后制表符补全即可工作。如果您没有名为 的文字目录,则自动完成功能将不起作用,因为它需要扩展才能确定哪些值对于自动完成功能有效。$\$PREFIX$PREFIX$PREFIX

相关内容