Vim 編輯 HTML 時,都會出現下述訊息:
處理 /usr/share/vim/vim74/ftplugin/html.vim 時發生錯誤: 行 25: E117: 未定義的函式: htmlcomplete#DetectOmniFlavor
要怎麼修復呢?
Vim 未定義的函式: htmlcomplete#DetectOmniFlavor 修復
這個訊息對 Vim 編輯並沒有任何影響,只是每次編輯都會跳出來,有點煩而已。
最早懶的處理的話,就是 vim /usr/share/vim/vim74/ftplugin/html.vim ,將下述:
if exists('&omnifunc') setlocal omnifunc=htmlcomplete#CompleteTags call htmlcomplete#DetectOmniFlavor() endif
改成:
;if exists('&omnifunc') ; setlocal omnifunc=htmlcomplete#CompleteTags ; call htmlcomplete#DetectOmniFlavor() ;endif
先註解掉不管他,但是每次 Vim 升級後,都會需要重新再做一次這種事情。
週末花點時間看一下,應該是 html5.vim plugin 的問題,解法可以有兩種:(我可能之前有重複安裝)
解法1
- cd ~/.vim/autoload
- rm htmlcomplete.vim # 裡面應該有此舊版檔案
- wget https://raw.githubusercontent.com/othree/html5.vim/master/autoload/htmlcomplete.vim # 抓新版
解法2
- cd ~/.vim/autoload
- rm htmlcomplete.vim # 主要就是這個檔案造成的
- cd ~/.vim/bundle/html5.vim # 假設有使用 Pathogen
- git pull # 拉最新版即可 (https://github.com/othree/html5.vim)
- 註:就算是最新版,若 .vim/autoload/htmlcomplete.vim 還是舊版,一樣會有此訊息