2010-11-01 67 views
17

我想讓vim提供某種形式的jQuery Omnicomplete。我已經使用ctags來生成基於jquery js文件的標籤。這之後,我打開了omnicompletion使用vim javascript omnicomplete

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS 

之後,我的標籤變量設置爲我創造

set tags+=~/.vim/tags/jquery 

當我打開js文件標記文件的javascript,並使用:ta我能夠找到我想要的功能,但是當我嘗試使用omnicompletion時,它只是不會出現。例如,我把這個代碼從淨測試:

$("input").has(".email").addClass("email_icon");  

在VIM,打字$("input").後,我打標籤(與SUPERTAB設立)和has不轉了,即使我能找到它通過模糊取景器或:ta

有什麼建議我可以做些什麼來解決這個問題?謝謝!:)

回答

5

javascriptcomplete#CompleteJS不使用ctags文件完成。

你可以做的是,你可以編寫你自己的全功能的jQuery,或者甚至更好的擴展/usr/share/vim/vim72/autoload/javascriptcomplete.vim中定義的javascriptcomplete#CompleteJS函數來滿足你的需求。

+2

順便說一句,你可以用'C-X C-]'訪問基於標籤的完成,或有SUPERTAB嘗試它。 – ches 2011-08-22 19:03:10

6

使用Mozilla的DoctorJS(以前jsctags),這也是在Cloud9 IDEAce online editor使用。

查看我的回答this questionthis question瞭解更多信息(安裝,配置等)。

+0

DoctorJS能否處理jQuery源代碼(「嘗試它」功能似乎無法)。 – 2011-07-01 20:37:20

+0

我不知道。抱歉。你必須嘗試看看。 – 2011-07-06 11:20:47

+1

它似乎爲jquery插件生成ctags很好,但不適用於jquery本身(它顯然已經用於很久以前,但這已經被破壞)。 – hendrixski 2012-04-22 04:58:12