Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Path does not update until I logout/log in



On 12-12-04 10:33 AM, John wrote:
If I install a new executable via my package manager, zsh doesn't allow me to see it via auto-completion until I either source my ~/.zshrc again.  Is there a setting that would control this?  Note that under bash, I don't need to tweak anything to get this behavior.

Here is another tangible example:

1) Open two xterms
2) In one xterm do this:  sudo ln -s /usr/bin/top /usr/bin/newsymlink

Now, if in the 2nd xterm I start typing, nothing happens for autocomplete:  newsy<TAB>

Here is my config file:

$ cat ~/.zshrc
ZSH=$HOME/.zsh

for config_file ($ZSH/lib/*.zsh) source $config_file


for i in aliases commonrc functions zsh ; do [[ -f $HOME/.$i ]] && . $HOME/.$i ; done


PROMPT='%(!.%{$fg_bold[red]%}.%{$fg_bold[white]%}%n@)%m %{$fg_bold[blue]%}%(!.%1~.%~) %#%{$reset_color%} '


REPORTTIME=5

autoload -U compinit

compinit -i
zsh uses a hash table to store the list of known commands. When you install a new command in your path, you need to update this hashtable by invoking "rehash". This is similar to csh, I believe (been a while since I used this last). bash, on the other hand, does a search for valid commands every single time. zsh provides this possibility, too, by setting the "rehash" option, but this is disabled by default because it incurs a speed penalty.

Cheers,
Norbert



Messages sorted by: Reverse Date, Date, Thread, Author