2013-01-13 28 views
0

我正在編寫一個插件。我打開了一個緩衝區,並在其中拖拽一些菜單項。我想在按下回車鍵時觸發一些特殊功能。我使用nmap:func(),但輸入key也觸發了其他緩衝區中的func。 任何人都可以告訴我如何執行僅在指定緩衝區中工作的鍵映射? 或者有關如何製作菜單的任何想法都是受歡迎的,我之前沒有任何編寫插件的經驗。vimscript:使鍵映射僅適用於指定的緩衝區

在此先感謝。 問候, 院長

回答

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