From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26447 invoked by alias); 24 Jan 2015 15:21:20 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 19779 Received: (qmail 22098 invoked from network); 24 Jan 2015 15:21:17 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.2 DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= daniel.shahaf.name; h=x-sasl-enc:date:from:to:cc:subject :message-id:references:mime-version:content-type:in-reply-to; s= mesmtp; bh=Yrd1lw4Ni8/LccltYAdJ3Tv40Hw=; b=ioydN+o71C2Wp8mwrnOQL 3CNmT1SgLYdrVvMobfBcLEw+wLceP4tVoWkiFk6DE9vojtrh0f06cKsc0iA8mKno YaXOnUUTL0uf6zanKGEGmiKw1h3H0mAOFkyZLV07S3UuaMgdmRKTIYIKYxyOThpg aYPEAHLHbVBsdSup4YHjSQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=x-sasl-enc:date:from:to:cc:subject :message-id:references:mime-version:content-type:in-reply-to; s= smtpout; bh=Yrd1lw4Ni8/LccltYAdJ3Tv40Hw=; b=pBGizkSHtjmv9qgNar2+ /iKzRmjAWgDzLzvcEk0jMNEqts8Y6SLsS88r9zqcwqwvfFRjhR5VDOKEAwezbO1Q JiX8PvDw8M9To3RRA/pwFwCw3bE5k9ZvPMVr46m/bPcMwPwjZWuPO/g1aULdIJmJ xoafpa6BbeGor7vZvqA3EKc= X-Sasl-enc: 9BAh36QMrazBLtjgPBZv2IhoHoGiPWsyJlADOkfHFPlx 1422112866 Date: Sat, 24 Jan 2015 15:21:00 +0000 From: Daniel Shahaf To: Bart Schaefer Cc: zsh-users@zsh.org Subject: Re: Excluding command from history list Message-ID: <20150124152100.GA20359@tarsus.local2> References: <150123204755.ZM2095@torch.brasslantern.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <150123204755.ZM2095@torch.brasslantern.com> User-Agent: Mutt/1.5.21 (2010-09-15) Bart Schaefer wrote on Fri, Jan 23, 2015 at 20:47:55 -0800: > On Jan 23, 12:32pm, Ramkumar Ramachandra wrote: > } > } I want to exclude > } *dcommit* from the history list; excluding it from the history file is > } pretty simple: > } > } zshaddhistory () { > } [[ $1 != *dcommit* ]] > } } > } > } ... but I haven't figured out how to do it for the history list > > That *does* exclude it from the history list. > > What it doesn't do (and what nothing does) is exclude it from being > kept in what might be termed the "previous command buffer". You > can ALWAYS go back exactly one command, even when HISTSIZE=0, but > with the zshaddhistory hook above, that command will be discarded > as soon as there is another new one to replace it. You could partially workaround that feature by wrapping the history-recalling commands with "don't recall dcommit" variants. For example: % bindkey -L | grep up bindkey "^[[A" up-line-or-history % f() { local b="$BUFFER" zle .up-line-or-history [[ $BUFFER == *dcommit* ]] && BUFFER=": : :" } % zle -N f f % bindkey '^[[A' f That doesn't stop you from using '!' in an input line, e.g., '!?dcommit' would still recall the 'git svn dcommit' command. Daniel