我正在做个人使用的vim插件,它从工具栏触发。 当我在GVIM工具栏中单击插件时,它会创建一个名为“common”的子菜单。 当我点击common时,它会开始检查我的vim设置并创建子菜单,例如显示/隐藏行号。但是下面的代码有一些问题,并且无法正常工作。它出什么问题了?
amenu &Plugin.&Common :call <SID>createSubMenu()<CR>
fun! s:createSubMenu()
let isNum = &number
if isNum == '1'
amenu &Plugin.&Common.Hide\ Line\ &Number :set nonu
else
amenu &Plugin.&Common.Show\ Line\ &Number :set nu
endif
endfunction
---------------------已解决-----------------------
上面的代码无法使用。它完成错了。
请参考Luc Hermitte的回答。
答案 0 :(得分:1)
:amenu
与map
命令类似:您必须在最后添加<CR>
。
:amenu &Plugin.&Common.Hide\ Line\ &Number :set nonu<CR>
此外,<SID>
和s:
不一样。
您还应该使用isNum
s:
范围限定在您的脚本中
另外一条评论:为什么没有一个菜单条目建议切换行号并拨打:set nu!
?
答案 1 :(得分:1)
您需要:unmenu
旧条目将其删除。