我试图弄清楚映射命令的语法,例如 onoremap
,在vim中。
特别是,我对手册中的这一行感到困惑,关于 <C-U>
的使用:
The CTRL-U (
<C-U>
) is used to remove the range that Vim may insert.
有人可以解释一下吗?
最佳答案
这不是 onoremap
语法的一部分命令,即解释特定映射的作用。该映射是:
onoremap <silent> F :<C-U>normal! 0f(hviw<CR>
所以,当
F
当操作符挂起时使用 key,vim 会用 onoremap
的下一个参数中的位替换它。命令。以 :
开头开始 ex
模式命令。如果使用映射时有可视化选择,vim会自动插入范围'<,'>
使以下ex
命令将应用于视觉选择,使命令行看起来像::'<,'>
<C-U>
在映射中告诉vim 在:
之后输入 Control+U 组合应该用于清除命令行,消除自动插入的范围,使命令行看起来像::
然后使用映射的其余部分。
您可以通过使用 V 开始逐行视觉选择,然后使用 : 开始输入命令来亲眼看到这一点。范围将显示出来,然后您可以像示例映射一样使用 Control+U 清除它。
包含该映射的 vim 帮助部分解释了它的其余部分。
关于syntax - 为什么有些 Vim 映射在冒号后包含 <C-U>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13830874/