在vim中保存以前的映射

时间:2013-08-18 22:05:05

标签: vim

我重新映射一个键以捕获该键被按下并调用一个函数,在该函数中决定调用一个动作或调用该键,因为这个重映射不存在。但问题是当我重新映射一个密钥时,我会丢失映射到该密钥的操作。

Hot我可以在vimscript中实现这个吗?

1 个答案:

答案 0 :(得分:1)

您可以在函数中使用:h :normal来重新创建重新映射的密钥的原始功能。例如......

nnoremap l :call MyFun()<cr>

fun! MyFun()
    call inputsave()
    let choice = confirm("Call fun?", "&yes\n&no", 1)
    if choice == 1
        call OtherFun()
    else
        norm! l
    endif
endfun

fun! OtherFun()
    echo "It worked!"
endfun