我正在写一个插件。我打开了一个缓冲区,并在其中显示了一些菜单项。我想在按下回车键时触发一些特殊功能。我使用了nmap:func(),但是输入key也触发了其他缓冲区中的func。 任何人都可以告诉我如何键盘映射仅在指定的缓冲区中有效吗? 或者欢迎任何有关如何制作菜单的想法,我以前没有任何编写插件的经验。
提前致谢。 问候, 迪安
答案 0 :(得分:2)
您可以通过向映射添加<buffer>
来将键映射限制为当前缓冲区,如下所示:
nmap <buffer> <CR> :call func()<CR>
有关详细信息,请参阅:help map-arguments
您可以通过amenu
命令将菜单项添加到主菜单:
amenu &MyMenu.MyMenu&Item :call MyFunc()<CR>
此命令将新菜单MyMenu
和新菜单项MyMenuItem
添加到MyMenu。
您可以通过aunmenu
命令删除菜单项(或整个菜单)
有关详细信息,请参阅:help amenu
和:help aunmenu
。