目标是让键j执行可能复杂的任务和移至下一行(后一动作的执行与j键的原始功能相同)。] >
我最初的尝试是这样映射j
键:的行为取决于其前面的计数)并适当定义功能nn j :<C-U>execute "call MyFun(" . v:count . ")"<CR>
((如您所见,我打算使j
MyFun
:现在会导致错误fu! MyFun(count) " do more stuff based on a:count normal j endf
这是有缺陷的,因为点击j
E169: Command too recursive
,因为只要我的推论正确,nnoremap
的非递归性就适用于[ C0]的映射,而不是映射到其“内部”的任何内容(换句话说,{rhs}
主体在调用j时就使用了它的含义,从而导致无限递归)。 >因此,我尝试了以下操作
function
但是这意味着我浪费了键,
。我知道我可以避免这样做的浪费
nn , j nn j :<C-U>execute "call MyFun(" . v:count . ")"<CR> fu! MyFun(count) " do more stuff based on a:count normal , endf
但是后来我不知道如何使用
nn <Plug>Nobody j
(我的理解是,实际上,它仅在另一个非<Plug>Nobody
映射的{rhs}
中使用)。
目标是让键j进行可能复杂的任务并移至下一行(后一动作的执行与j键的原始功能相同)。我最初的尝试是映射j ...
我最初的尝试是以这种方式映射j键