Monday, March 13, 2017

Re: Start vim with a datestamped filename?

On Monday, March 13, 2017 at 9:24:30 AM UTC-4, Tim Chase wrote:
> On 2017-03-12 13:56, George Skuse wrote:
> > I'd like to have the filename dynamically datestamped
> > (yyyyMMdd_hhmmss), ie: filename-20170312_165737.txt
> >
> > Does anyone know how this could be accomplished as part of the
> > invocation using vim commands? This needs to be crossplatform and
> > not rely on OS-provided functionality.
>
> With *nix-specific, it's easy:
>
> vim filename-$(date +'%Y%m%d_%H%M%S').txt
>
> However that doesn't work so well on Windows (at least those that
> don't have bash & date). For Vim-specific, you could do
>
> vim -c "exec strftime('e filename-%Y%m%d_%H%M%S.txt')"
>
> which Works For Me™ on Linux, FreeBSD, and Windows where I did a
> quick test.
>
> -tim

Thanks, I ended up using a modified version of that command:

vim -c "exec strftime('silent edit fname-%Y%m%d_%H%M%S.txt')|put +|normal 1G"

Now I can paste directly to a new instance of vim with a ready-made filename! I'm using this with AutoHotKey (tied to Ctrl-Win-V), so I had to escape the %s with backticks (`):

Run "C:\Program Files (x86)\Vim\gvim.exe.lnk" -c "exec strftime('silent edit filename-`%Y`%m`%d_`%H`%M`%S.txt')|put +|normal 1G"


--
--
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.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment