Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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:


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?

share|improve this question

migrated from stackoverflow.com Apr 1 '12 at 17:17

This question came from our site for professional and enthusiast programmers.

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

(the second line is the suggestions get)

share|improve this answer
PinkFloyd, this is exactly the behavior that the OP described that he/she wanted to get rid of. – jayhendren Oct 3 '13 at 22:34
@jayhendren not it's not – Kiwy Feb 14 '14 at 13:43

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.