zsh 完成完整的主机名而不是短的主机名

zsh 完成完整的主机名而不是短的主机名

在我的~/.ssh/config我有

Host students
    HostName students.foo.edu.pl
    User bar

然后,当尝试完成 时ssh stu,zsh 建议students.foo.edu.pl改为students

另一方面,当使用 IP 地址时,自动完成功能可以正常工作:

Host knl
    HostName xxx.xxx.xxx.xxx
    User usrxxx
    Port 7777

为什么?我该如何修复它? my的相关部分.zshrc(省略提示和历史配置)

setopt nomatch
bindkey -e

#Completion
autoload -Uz compinit && compinit

#Needed for colorful prompts
autoload -U colors && colors
setopt promptsubst
setopt HIST_IGNORE_SPACE

#Antigen
source /usr/share/zsh/scripts/antigen/antigen.zsh
antigen bundle zsh-users/zsh-syntax-highlighting
antigen bundle olivierverdier/zsh-git-prompt

两个主机均未定义/etc/hosts

答案1

它肯定已经在~/.ssh/known_hosts文件中找到了该主机。删除对应行进行~/.ssh/known_hosts测试。

相关内容