定制ZSH代字号扩展

时间:2015-02-25 20:42:04

标签: linux shell zsh zsh-completion

上下文

这涉及ZSH波浪扩展(如bash tilde expansion中所述)。

示例:~http已扩展为/srv/http,这是(大致)http中设置的用户/etc/passwd的主页。

我想做什么

我想配置ZSH以获得我想要的任何文件名代码扩展。

在我的alias ~foo /foo/bar中设置.zshrc 就像一样。

我不想要

可以创建(以root身份)用户foo并将其设置为/foo/bar的主页,但是因为任何用户应该能够做到这个,这样的解决方案是不可接受的。

此外,这与~$HOME的完成无关。

其它

本文讨论了 bash 代字号扩展的性质:Meaning of tilde in Linux bash (not home directory)

谢谢你的回答! ;-)

1 个答案:

答案 0 :(得分:2)

您可以使用其中任何一种(或两种方式):

现在,我们也可以使用cd ~foo将当前目录更改为/foo/bar

在zsh中称为“Static named directories”


注意:当CDABLE_VARS shell option处于有效状态时,如果目录(此示例中为cd foo)存在,我们甚至可以在上面的示例中执行cd ~foo而不是/foo/bar。< / p>