zsh自动完成的奇怪行为

迈克尔·多斯特(Michael Dorst)

最近,我将两个服务器的域从mdorst.net更改为mars.mdorst.net现在,当我转到ssh时,其中一个会按预期自动完成,而另一个则不会。

$ ssh michael@o<Tab>

自动完成

$ ssh [email protected]

这就是我想要的。但是,当我键入

$ ssh michael@c<Tab>

它会自动完成

$ ssh [email protected]

并将光标放在m后面。

我最好的猜测是它知道我已经输入了以下两个

$ ssh [email protected]
$ ssh [email protected]

以前,想知道是哪一个。极其聪明!除了我不希望出现这种情况外,我重新浏览.zsh_history并删除了所有出现的curiosity.mdorst.net,问题仍然存在!

这对我来说非常令人困惑,因为我之前也做过opportunity.mdorst.net,但这在我键入时不会发生o<Tab>,只有在键入时才会发生c<Tab>

如何使其自动完成到正确的域?

py

zsh正在ssh从文件中收集有关用户名和访问的主机的信息以完成操作

  • / etc / hosts
  • / etc / ssh / ssh_known_hosts
  • 〜/ .ssh / known_hosts

如果未设置hostsknown-hosts-files样式。(资料来源:zshcompsys手册)

因此,您应该首先检查~/.ssh/known_hosts文件,然后删除您不想完成的远程计算机所在的行。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章