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

Re: zle - keep state of the buffer on accept-and-hold or hold only part



Tomasz Pala wrote on Tue, 28 Jul 2020 12:30 +0200:
> My usage scenario follows - consider having (not so) many files with similar
> names, like date/counter-suffixed. I need to perform some operations on them,
> one by one (the commands slightly differ, assume it's not scriptable
> worthy), e.g.
> 
> [1] xsltproc style.xslt file_200701.xml [alt-a: accept-and-hold]
> [2] xsltproc style.xslt file_200701.xml | grep -v some_spam [accept-and-hold]
> [3] xsltproc style.xslt file_200701.xml | grep -i sth_interesting | actual command [accept-and-hold]
> 
> [1] xsltproc style.xslt file_200702.xml [accept-and-hold]
> [2] xsltproc style.xslt file_200702.xml | grep -v something_other [...]
> 
> 
> Now, I got the " | grep -i sth_interesting | actual command" in xterm
> PRIMARY and insert it fast with alt-shift-insert - so the [3] line is
> fine. The [2] line changes depending on xsltproc output, it's written
> ad-hoc, no optimization can be made.
> 
> 
> However, most of the time I'm wasting is on going back to the point:
> 
> xsltproc style.xslt file_2007 <- here.
> 
> I can set a mark (ctrl-space) and then kill entire region, but the mark
> doesn't propagate to the buffer after accept-and-hold.
> 

As a workaround, you might try changing your command to one of these:

% { xsltproc style.xslt - | grep … } <file_200701.xml
% <file_200701.xml xsltproc style.xslt - | grep …
% () { xsltproc style.xslt "$@" | grep … } file_200701.xml

This should make it easier to edit the filename, because it'll be at
the start or end of the command line.

Regarding your other points, I'll defer to others.

Cheers,

Daniel



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