2010-11-01 6 views
17

Ich versuche, Vim zu erhalten, um irgendeine Form von jQuery Omnicomplete bereitzustellen. Ich habe Ctags verwendet, um Tags basierend auf der JQuery-JS-Datei zu generieren. Nach dem ich auf omnicompletion für Javascriptvim Javascript Omnicomplete

autocmd FileType javascript set omnifunc=javascriptcomplete#CompleteJS 

nach der Verwendung drehte ich die Tags Variable in die Tag-Datei gesetzt ich

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

Wenn ich eine js-Datei zu öffnen, und verwenden Sie :ta Ich bin Ich bin in der Lage, die gewünschte Funktion zu finden, aber wenn ich versuche, omnicompletion zu verwenden, wird es einfach nicht angezeigt. Zum Beispiel habe ich aus dem Netz zu testen diesen Code habe:

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

In VIM nach $("input"). eingeben, schlug ich Tab (mit SUPERTAB einrichten) und has nicht wieder auftauchen, auch wenn ich es finden kann durch Fuzzy Finder oder :ta

Irgendwelche Vorschläge, was ich tun kann, um das zu lösen? Danke! :)

Antwort

5

javascriptcomplete#CompleteJS verwendet nicht die ctags Datei für den Abschluss.

Was Sie tun können, ist, können Sie Ihre eigene omni-komplette Funktion für jQuery schreiben, oder noch besser, erweitern Sie die javascriptcomplete#CompleteJS Funktion definiert in /usr/share/vim/vim72/autoload/javascriptcomplete.vim nach Ihren Bedürfnissen.

+2

Übrigens können Sie auf die Tag-basierte Vervollständigung mit 'C-x C-]' zugreifen, oder SuperTab kann es für Sie ausprobieren. – ches

6

Verwenden Mozillas DoctorJS (früher jsctags), die auch in Cloud9 IDE ‚s Ace online editor verwendet wird.

Siehe meine Antworten für this question und this question für weitere Informationen (Installation, Konfiguration, etc.).

+0

Kann DoctorJS mit der jQuery-Quelle umgehen (die "Try It" -Funktion scheint dies nicht zu können). –

+0

Ich habe keine Ahnung. Es tut uns leid. Du musst es versuchen und sehen. –

+1

Es scheint, ctags für jquery plugins zu erzeugen, gerade gut, aber nicht für jquery selbst (es ist anscheinend vor langer Zeit gewöhnt, aber das ist gebrochen). – hendrixski

Verwandte Themen