ZSH 主机名完成行为发生变化吗?

ZSH 主机名完成行为发生变化吗?

我一直在使用 ZSH 来完成主机名补全,并且想要更改默认行为。当我有多个具有相似名称的主机时,完成会执行我不关心的操作。最好举个例子:

假设我有这些主机:

host01.stage.example.com
host02.stage.example.com
host01.prod.example.com
host02.prod.example.com

现在,在我的提示中,我将输入:

$ ssh hos<tab>

zsh 会告诉我:

$ ssh host..example.com 

将光标放在“主机”后面,并显示一个包含主机名的菜单。我喜欢显示主机名的菜单,我只是不希望它完成一切。奇怪的事情发生了。大多数时候,我通过选项卡浏览,要么必须删除主机名,要么必须删除行上的额外内容。

首选方法是不填写主机名的其余部分。就像是:

$ ssh hos<tab>

zsh 希望能告诉我:

$ ssh host
host01.stage.example.com  host01.prod.example.com
host02.stage.example.com  host02.prod.example.com

有什么想法吗?

答案1

您是否更改了 .zshrc 文件中的任何内容?因为当我这样做时

ssh 127<tab>

它给了我正确的建议...光标移动到正确的位置:

ssh 127.0.<cursor>.1
127.0.0.1 127.0.1.1

(第二行是得到的建议)

相关内容