问题描述
在 bash 中,当我尝试在双引号字符串中使用自动补全时,它可以工作:
例如
echo "My home directory is $HO<t>"
# expands to
echo "My home directory is $HOME"
但是当我在 zsh 中尝试同样的事情时,它什么也没做。
同时它在字符串之外工作:
echo My\ home\ directory\ is\ $HO<t>
# expands to
echo My\ home\ directory\ is\ $HOME
有没有可能让它像 bash 一样工作?
解决方法
Zsh 补全 has a bug,如果部分参数名后跟 "
,则参数名补全失败。
作为一种解决方法,只需在按 Tab 之前从字符串中删除最后一个 "
。然后,Zsh 的补全将正常工作,并会自动为您添加最后的 "
。