I just switched to zsh (from tcsh) and have only run into one serious frustration: There are multiple completions for pushpushd and pushln. I’d really like to only have pushd available, since this is really tripping up my muscle memory.

How can I set this up using zsh completion (specifically compsys)?


I don't know how to control the completion so precisely, but there is a builtin function called disable, which disables a command itself.

If you add disable pushln to your .zshrc, the pushln builtin will be disabled and no longer be displayed as a candidate.


Does this solve your issue?

alias push='pushd'
  • 1
    No, because that just means there'll be three completions for push rather than two. I want to start typing push (e.g. type either pus or push) and have the only completion be pushd. – Chris Hanson Apr 4 '11 at 23:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.