我正在写一个插件。我打开了一个缓冲区,并在其中放置了一些菜单项。我想在按下回车键时触发一些特殊功能。我使用了 nmap :func() ,但输入键也触发了其他缓冲区中的函数。谁能告诉我如何进行仅在指定缓冲区中有效的键映射?或者欢迎任何关于如何制作菜单的想法,我之前没有任何编写插件的经验。
提前致谢。问候,院长
我正在写一个插件。我打开了一个缓冲区,并在其中放置了一些菜单项。我想在按下回车键时触发一些特殊功能。我使用了 nmap :func() ,但输入键也触发了其他缓冲区中的函数。谁能告诉我如何进行仅在指定缓冲区中有效的键映射?或者欢迎任何关于如何制作菜单的想法,我之前没有任何编写插件的经验。
提前致谢。问候,院长
您可以通过添加到映射来限制当前缓冲区的<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
。