Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

How does zsh figure out currently installed packages on Debian, and how can I update that information? After running apt-get install, zsh won't autocomplete that package as a possible parameter for apt-get purge or apt-get remove. The only way I can get it to update is to run a new shell. None of the tricks I've found seem to work: rehash or even rm ~/.zcompdump && compinit don't help.

Bash recognizes package installs and removals, and modifies the possible parameter lists for apt-get remove/purge accordingly, without any user interaction. This is using the default configuration on Debian wheezy.

With the default configuration for zsh, I don't get any parameter completion for apt-get at all. I'm using the following custom rc to get completion (with the above caveat):

autoload -U compinit
compinit
eval `dircolors -b`
PS1="%n@%M:%~ > "
zstyle ':completion:*' list-colors $LS_COLORS
share|improve this question
add comment

1 Answer

# auto rehash commands
# http://www.zsh.org/mla/users/2011/msg00531.html
zstyle ':completion:*' rehash true
share|improve this answer
    
No, this does not help. Even with this, or manually calling the rehash command, the package names available for completion are not updated. I've now started using exec zsh, though that's of course not perfect (i.e. because of background jobs). –  Rörd Oct 20 '13 at 13:18
add comment

Your Answer

 
discard

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

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