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

Re: Announcement of Zsh Command Architect v1.0

On Fri, Jan 8, 2016 at 10:33 AM, Dominik Vogt <vogt@xxxxxxxxxxxxxxxxxx> wrote:
> On Wed, Jan 06, 2016 at 05:22:29PM +0100, Sebastian Gniazdowski wrote:
>> Version 1.0 of the tool is ready, webpage with animated gifs:
>> https://github.com/psprint/zsh-cmd-architect
> I've watched the video on that page many times and I'm still
> trying to figure out what kind of problem this module can solve
> that cannot be solved with history search, menu completion and
> pressing <TAB> a couple of times.
>> Feature highlights:
>> - adding, removing, moving segments of commands
>> - colorful searching in history with multi-word matching
> The multi-word matching syntax would be helpful in general for all
> "search"-type operations.
>> - unique mode - no need for HIST_IGNORE_ALL_DUPS
>> - horizontal scroll - commands of any lengths can be handled and build
>> - colorifying - configurable highlight of selected keywords
>> (z) and zsh/curses are tools, ZCA is utility that uses them in a high
>> level fashion.
>> No more need for a mouse to copy parts of commands in history.
> I never use the mouse for that (partially because the middle mouse
> button is broken):
>   (Move cursor to start of word to copy)
>   Ctrl-Space (set mark)
>   (Move cursor to start of word to copy)
>   Ctrl-w (cut)
>   (Move cursor to new location of the word)
>   Ctrl-y (yank; insert cut buffer)
> Or with the example from the video:
>   # type
>   mplayer -fs
>   # noticed that I need a long word from the history, so comment
>   # out the unfinished command line and store it in the history
>   <ctrl-a>#<return>
>   # look for the history line with the long word; the multi word
>   # search would be helpful
>   <ctrl-r>The_Voi
>   # Mark and cut the file name:
>   <move cursor><ctrl-space><ctrl-f><ctrl-w>
>   # abort editing
>   <ctrl-g>
>   # recall the unfinished command and insert the cut-buffer
>   <cursor-up><ctrl-e> <ctrl-y>
>   # remove comment and execute
>   <ctrl-a><delete><return>
> That's fifteen additional keystrokes plus typing part of the file
> name and moving the cursor to the start of the name.  And that's a
> lot more typing than just "mplayer -fs The_Voi<TAB><RETURN>".
> To me it appears that cases where a complicated part of a former
> history line needs to be copied and the same cannot easily be done
> with completion is quite rare.  And even then I could just edit
> the complicated line instead of copying a part of it to a new
> line.
> I'm really interested in user experience with that approach,
> though.

If you need a long word from history, another great widget to invoke
is _history-complete-older, which is bound to alt-/ in emacs mode by
compinit. This style makes it usually more usable,
zstyle ':completion:*' range 50000:2000

narrow-to-region and push-input are also nice options, rather than
mucking about with storing the current command somewhere else while
looking around for your new word.

Mikael Magnusson

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