我遇到了一些我不理解的语法用法:
第一个是:帮助映射:
:map <F2> a<C-R>=strftime("%c")<CR><Esc>
这个序列确实将strftime的值插入缓冲区虽然我不明白怎么做。改变不同的东西打破了它。
另一个是wiki page,它描述了如何使omnicompletion弹出菜单运行良好:
inoremap <silent> <Esc> <C-r>=pumvisible() ? "\<C-y>" : "\<Esc>"<CR>
这里也是一样。
有人可以解释这个“<C-r>=
”的工作原理吗?...
答案 0 :(得分:54)
<C-r>=
或 Ctrl + R = 用于在光标处插入表达式的结果。
在编辑CSS以插入值时,我经常使用它:
width: <C-r>=147-33<CR>px;
width: 114px;
修改强> 的
没有<C-r>
的 =
允许您在 insert 模式下插入光标处的任何寄存器的内容:<C-r>+
,例如,插入我的系统剪贴板的内容。见:help i_ctrl_r
。
=
是“表达式寄存器”。请参阅:help "=
。
的 EndEdit中强> 的
答案 1 :(得分:31)
<C-r>
就像在键盘上按CTRL + R. <CR>
就像打进入。您可以通过:help key-notation
找到完整列表。