ZSH host name completion behaviour change

zsh

I have been using ZSH to do host name completion, and want to change the default behaviour. When I have multiple hosts with similar names, the completion does stuff that I don't care for. An example is best:

Let's say I have these hosts:

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

now, in my prompt, I will type:

$ ssh hos<tab>

zsh will show me:

$ ssh host..example.com 

with the cursor right after "host" and shows me a menu with the host names in it. I like the menu showing me hostnames, I just don't want it to complete everything. Weird things happen. Most of the time I tab through and either have to delete host names or have extra stuff on the line i have to delete.

A preferred way would be to not complete the rest of the hostname. something like:

$ ssh hos<tab>

zsh would hopefully show me:

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

Any thoughts?

Best Answer

did you change anything in your .zshrc file ? Because when I do

ssh 127<tab>

it gives me correct suggestions... the cursor goes at the right place:

ssh 127.0.<cursor>.1
127.0.0.1 127.0.1.1

(the second line is the suggestions get)