簡體   English   中英

如何動態更改VIM工具欄中的菜單標題?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM