Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: Excluding command from history list
- X-seq: zsh-users 19779
- From: Daniel Shahaf <d.s@xxxxxxxxxxxxxxxxxx>
- To: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- Subject: Re: Excluding command from history list
- Date: Sat, 24 Jan 2015 15:21:00 +0000
- Cc: zsh-users@xxxxxxx
- 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=
- In-reply-to: <150123204755.ZM2095@torch.brasslantern.com>
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <CALkWK0mng_gN+5nfGJ14A6Xnh8n80TwDb8MxVWe6usaZLxo0Pg@mail.gmail.com> <150123204755.ZM2095@torch.brasslantern.com>
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
Messages sorted by:
Reverse Date,
Date,
Thread,
Author