Subject: Re: PATCH: vi-pipe (Re: PATCH: vi-mode case-manipulation)
From: Daniel Shahaf <[email-masked]>
To: Oliver Kiddle <[email-masked]>
Cc: Zsh workers <[email-masked]>
Date: Sun, 24 Jul 2016 21:30:35 +0000
List-Id: Zsh Workers List <zsh-workers.zsh.org>

Oliver Kiddle wrote on Sun, Jul 24, 2016 at 08:34:59 +0200:
> Furthermore, ! in real vi forces the movement to act linewise. We can force
> this by ungetting a V before calling vi-change.
> 
> I had thought ! a good example for a shell-based widget because I
> couldn't imagine anyone wanting mappings that make it a prefix so
> the lack if the VI_OPER flag wouldn't matter. It now occurs to me that
>   noremap !o o<Esc>!!
> and similarly for O is a useful shortcut. Zsh equivalent if you can
> type faster than KEYTIMEOUT is:
>   bindkey -as '!o' $'o\e!!'
> Or maybe there's a better way to insert the output of a command in vim?

There are «:r !<command>» and «:<range>!<filter>», for example

    :r !pwd
    :%!tr a-z A-Z

Another way is append('.') or i_CTRL-= with systemlist().

Cheers,

Daniel