Tuesday, September 10, 2019

Re: Execute command and insert its standard output at the beginning of non-empty line?

On Tue, 10 Sep 2019 at 12:33, Christian Brabandt <cblists@256bit.org> wrote:
>
>
> On Di, 10 Sep 2019, 'Ottavio Caruso' via vim_use wrote:
>
> > Hi all,
> >
> > I have this bash alias:
> > alias my-date='date +"%A %d %B %Y"'
> >
> > and this line in vimrc:
> > set shellcmdflag=-ic
> >
> > I want to insert (prepend) a timestamp at the beginning of a non-empty
> > line, without line breaks, but if I type:
> >
> > :r !my-date
>
> :r reads the output of your command and puts it below the current line.
>
> > this will print the timestamp on the next line, that is the line below
> > the cursor.
> >
> > Is there a way to achieve what I want?
>
> use strftime() together with Ctrl-R in insert mode. See the example in
> the faq: https://vimhelp.org/vim_faq.txt.html#faq-21.4
>

Many thanks Christian, this is exactly what I was looking for.

I put this in my .vimrc:

iabbrev mydate <C-R>=strftime("%A %d %B %Y")

and it works like a charm.



--
Ottavio Caruso

--
--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/vim_use/CAEJNuHym1bcr%2BwtAVfH4yh_7CLANp8ZpchBuKa%2ByAtVmmP1iCA%40mail.gmail.com.

No comments: