Vim 未定義的函式: htmlcomplete#DetectOmniFlavor 修復

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

  1. cd ~/.vim/autoload
  2. rm htmlcomplete.vim # 裡面應該有此舊版檔案
  3. wget https://raw.githubusercontent.com/othree/html5.vim/master/autoload/htmlcomplete.vim # 抓新版

解法2

  1. cd ~/.vim/autoload
  2. rm htmlcomplete.vim # 主要就是這個檔案造成的
  3. cd ~/.vim/bundle/html5.vim # 假設有使用 Pathogen
  4. git pull # 拉最新版即可 (https://github.com/othree/html5.vim)
  5. 註:就算是最新版,若 .vim/autoload/htmlcomplete.vim 還是舊版,一樣會有此訊息

作者: Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料