vim将时间戳放在文件名中

时间:2011-02-12 19:08:38

标签: vim timestamp filenames

我一直在尝试在vim中的文件名中插入时间戳。我找到的最好的例子是this。虽然这适用于将时间戳放在文件中,但它在命令行中不起作用。这是我在vimrc中的内容:

nmap <F3> a<C-R>=strftime("%Y%m%d%H%M")<CR><Esc>
imap <F3> <C-R>=strftime("%Y%m%d%H%M")<CR>

在命令行中输入:

:sav i<C-R><F3>.txt

希望得到:

i201102121400.txt

相反,我得到:

E15: Invalid Expression: <F3>
E15: Invalid Expression: <F3>

我做错了什么?

此外,我正在使用Windows和Linux,因此必须同时使用它们。

奖金:如果我能得到它来获得UTZ时间而不是当地时间,那就太棒了!

1 个答案:

答案 0 :(得分:5)

您需要使用cmap,而不是nmap或imap。

添加相同的行以在cmap中设置F3,即命令行地图

cmap <F3> <C-R>=strftime("%Y%m%d%H%M")<CR>

如果您不需要时间戳或想要在编辑缓冲区中使用它们,请删除nmap和imap映射。