我想映射一些组合。我已经阅读:h map
很长时间了,但我仍然不明白如何映射";d";以及";y";以便它们执行以下操作({ }
是可选的(:
d{count}{movment} => "_d{count}{movment}
{"reg}<Leader>d{count}{movment} => {"reg}d{count}{movment}
我希望d
真正删除文本,这样熟悉的d3d
、d3w
、diw
等也会真正删除文本。CCD_ 7切入寄存器CCD_ 8(如果未指定(或切入特定寄存器。
y{count}{movment} => y{count}{movment} call my_func()
"reg y{count}{movment} => "reg y{count}{movment}
与y
相同,但这里y{count}{movment}
必须复制并调用我的函数。"reg y{count}{movment}
应该照常工作。
我希望它能在视觉和正常模式下工作。
-
这是邪恶的,不应该这样做。只有当你寻求个人";挑战";,但在这种情况下,你最好自己想想。但如果你还需要一个提示,我可能会从
:h 'opfunc'
开始 -
如果你的Vim足够现代化(8.1+(,这是很容易实现的。只需抓住
:h TextYankPost
,然后从那里开始做你的事情。