【发布时间】:2018-03-10 09:31:10
【问题描述】:
我在.vimrc 中添加了以下几行:
nmap <F3> i<C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR><Esc>
imap <F3> <C-R>=strftime("%Y-%m-%d %a %I:%M %p")<CR>
在正常模式下,它按预期工作,即插入时间戳。
但是,在插入模式下,我插入了<F3>。我做错了什么以及如何让它发挥作用?
更新:我意识到在 Gvim 中一切正常,问题仅在于终端 vim(我尝试了 lxterminal 和 gnome-terminal)。如果有帮助,我在重新映射 Esc 字符时遇到了类似的问题,在 Gvim 中可以正常工作,但在 Vim 中不行。
更新 2:虽然我不能排除我可能对系统所做的其他一些更改,但升级到较新的 vim 版本很可能会解决问题。重新映射 Esc 现在也可以工作,即终端 Vim(8.1 版,2018 年 5 月 18 日)的行为与 Gvim 一样。
【问题讨论】:
-
它在这里按预期工作。不过,
imap是递归映射,因此它可能会扩展其他映射。看看用inoremap替换它是否有帮助。 -
感谢@romainl,但 inoremap 没有帮助。
标签: vim timestamp keymapping