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

Reply via email to