vim:為自動完成操作字典彈出視窗
我想調整 vim 以有效地使用 cdo(氣候數據運算符)。因為我需要在(bash)腳本中使用 cdo,所以我想添加一個帶有小描述(仍在搜尋!)的自動完成匹配(已實現!)。
我設置了環境,它在基本級別上工作。現在,我想知道是否可以在匹配的字典關鍵字右側操作彈出菜單的輸出。
到目前為止,我得到了一個簡單的關鍵字匹配,見下圖:
使用以下設置:
我的.vimrc:
set completeopt=longest,menuone
包括不同的字典,主要是 cdo.dic: ~/.vim/ftdetect/cdo.vim:
au BufRead,BufNewFile *.sh set dictionary+=~/.vim/dictionary/cdo.dic au BufRead,BufNewFile *.sh set dictionary+=~/.vim/dictionary/hamocc.dic au BufRead,BufNewFile *.sh set dictionary+=~/.vim/dictionary/mpiom.dic
我的字典文件 ~/.vim/dictionary/cdo.dic: with 匹配
abs -abs \
adisit -adisit \
…大約 700 多個….目標:我希望得到的輸出是一個顯示在右側的小描述,而不是字典文件的文件路徑。所以最好是對運算符的簡短解釋(也可能在運算符之後儲存在字典文件中?),例如。用於說明目的
selcode : Select parameters by code number {selcode,code ifile ofile}
從字典行中讀取:
selcode -selcode {Select parameters by code number [selcode,code ifile ofile]}\
因此,基本上,我無需大型程式即可快速查找操作員名稱和簡短描述的工具,以及帶有其他外部工具的外掛。所以這是一個“有可能嗎?怎麼做?” 問題…
到目前為止,我嘗試了 vim 文件,並在Google上搜尋了 vim、字典、完整、completeopt、pmenu 等。
我很欣賞你的建議。
你不能影響字典補全的上下文資訊(除非你直接改變 Vim 的原始碼)。
然而,Vim 提供了實現自定義完成的能力。您可以在 中找到所有相關資訊和範例
:help complete-functions
。這樣,您就可以完全控制上下文(命名為menu
cp.:help complete-items
)。您可以堅持使用字典文件作為來源;您必須讀取文件(例如 via
readfile()
)並稍微解析它(matchlist()
),或者您在實現自定義完成的 Vim 腳本中直接將您的字典項定義為 Vim 列表。