From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 2108 invoked from network); 16 Feb 2001 10:20:17 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 16 Feb 2001 10:20:17 -0000 Received: (qmail 5875 invoked by alias); 16 Feb 2001 10:19:44 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 3625 Received: (qmail 5441 invoked from network); 16 Feb 2001 10:18:41 -0000 Date: Fri, 16 Feb 2001 11:18:20 +0100 From: Louis-David Mitterrand To: zsh-users@sunsite.auc.dk Subject: Re: "rehash" each time a new program is installed? Message-ID: <20010216111820.D6320@apartia.ch> Mail-Followup-To: zsh-users@sunsite.auc.dk References: <20010215185745.B4877@apartia.ch> <1010215193109.ZM12208@candle.brasslantern.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.3.14i In-Reply-To: <1010215193109.ZM12208@candle.brasslantern.com>; from schaefer@candle.brasslantern.com on Thu, Feb 15, 2001 at 07:31:09PM +0000 X-URL: http://www.apartia.org On Thu, Feb 15, 2001 at 07:31:09PM +0000, Bart Schaefer wrote: > On Feb 15, 6:57pm, Louis-David Mitterrand wrote: > } Subject: "rehash" each time a new program is installed? > } > } I find myself having to run "rehash" to get zsh to recognize the > } presence of a new executable in the PATH. bash doesn't seem to have that > } requirement. Is there an option to get that behavior in zsh? > > You probably want "setopt nohashdirs". If that doesn't do it, "nohashcmds". > > } Also, how could I have zsh not list "CVS" directories when completing > } paths? I tried fignore but it doesn't work. > > I don't immediately recall any way to ignore intermediate directories in > a path. It's probably possible using styles in 3.1.6 and later, but the > only way for 3.0.8 would be to write a "compctl -K" function and attach > it to the specific commands for which you don't want to see CVS. I am using debian's 3.1.9.dev8-2 package, so I'll check the styles. > } Oh, and a last one ;) Is it possible to "fignore" a file except when > } it's the only completion candidate (considering the typed string e.g.)? > > That should happen already: > > fignore (FIGNORE ) > An array (colon separated list) containing the suffixes of files > to be ignored during filename completion. However, if the > completion generates only files which would match if this variable > would be ignored, than these files are completed anyway. >>From my .zshrc: > autoload -U compinit > compinit > zstyle ':completion:*' completer _complete > zstyle ':completion:*' file-sort modification > zstyle ':completion:*' group-name '' > zstyle ':completion:*' matcher-list '' > zstyle ':completion:*' squeeze-slashes true > zstyle ':completion:*' verbose true > zstyle :compinstall filename '/home/ldm/.zsh/.zshrc' > autoload -U zfinit > zfinit > > fignore=(.o \~ .old .bak .orig CVS) But when trying to complete "vim auction.sql.orig" I find myself banging like crazy on the TAB key without any reaction from zsh. In desperation I add a * to my prefix and _then_ it completes. Thanks, -- HIPPOLYTE: Dans le fond des forêts votre image me suit ; La lumière du jour, les ombres de la nuit, Tout retrace à mes yeux les charmes que j'évite, Tout vous livre à l'envi le rebelle Hippolyte. (Phèdre, J-B Racine, acte 2, scène 2)