我正在尝试保存包含日期和时间的文件名。但是,我希望日期和时间是UTC。这就是我在做的事情:
在vimrc中:
cmap <F3> <C-R>=strftime("%Y%m%d%H%M")<CR>
我保存文件时输入:
:w i<F3>.txt
我得到一个名为的文件:
i[localtime].txt
但我想:
i[UTCtime].txt
有没有办法真正做到这一点,还是我永远困在当地时间? Vim是我探索各个时区的唯一途径,请帮助我。 :)
哦,顺便说一句,我将同时使用Linux和Windows。
答案 0 :(得分:1)
嗯,我不确定这是否能在Linux上正常运行,但我相信(我在Mac上)。
这个想法是,您可以使用date
实用程序更灵活地检索时间。它接受一个选项-u
,以UTC格式输出时间。您所需要做的就是将其包裹在system()
电话中。
cmap <F3> <C-R>=system('date -u "+%Y%m%d%H%M"')<CR>
你有格式化的UTC时间。
如果在插入的时间结束时出现空字符(它显示为^@
),那么您可能希望在{[:-2]
之前附加<CR>
以从返回的字符串中删除它。 1}}在上面的映射中。这来自系统输出的翻译换行符。检查:h NL-used-for-Nul
。
关于windows,我不知道。您可能希望在映射之前在Linux中试用该实用程序,但我几乎肯定不会有任何差异。