[英]how to dynamically change menu title in VIM's toolbar?
我正在做個人使用的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的回答。
:amenu
工作方式與map
命令類似:最后必須包含<CR>
。
:amenu &Plugin.&Common.Hide\ Line\ &Number :set nonu<CR>
此外, <SID>
和s:
不一樣。
您還應該使用s:
isNum
作為腳本的范圍s:
還有一句話:為什么你沒有一個單一的菜單條目建議切換行號和來電:set nu!
?
你需要:unmenu
舊條目刪除它。
順便說一句,我已經擁有了一個功能齊全的切換/循環引擎,而且還有更新菜單。 它是使用lh-vim-lib中的函數完成的,請參閱測試文件以獲取使用示例,並獲取更多解釋的文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.