如何在vim中保存UTC时间的文件名?

时间:2011-04-21 19:09:38

标签: vim utc

我正在尝试保存包含日期和时间的文件名。但是,我希望日期和时间是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。

1 个答案:

答案 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中试用该实用程序,但我几乎肯定不会有任何差异。