2011-01-06 7 views
1

Also, ich habe gerade das zen-coding.vim Plugin installiert und Erweiterungen sind nicht passiert. Das Plugin ist da, wenn ich Skriptnamen mache, und: ausführliche Karte zeigt die ZenCoding-Mappings. Allerdings, wenn ich eine HTML-Datei (oder einen Satz ft = html) bearbeiten undzen-coding.vim funktioniert nicht für mich (Erreger)

h1 # title

Es passiert nichts geben. Ich bin mir sicher, dass meine .vimrc abgespritzt wird, aber ich bin ein bisschen neu in der vim Welt, also habe ich Mühe herauszufinden was ich vermasselt habe. Mein vim-Setup ist here. Ich bin auf Mac OSX und verwende Pathogene, um meine Plugins zu bündeln.

Hat jemand irgendwelche Vorschläge?

Danke, Glenn

Ausgabe:

runtimepath = ~/.vim, rtp gesetzt ~/.vim/bundle/IndexedSearch, ~/.vim/Bündel/Kern, ~/.vim /bundle/jquery,~/.vim/bundle/nerdtree,~/. vim/Bündel/snipmate.vim, ~/.vim/Bündel/textile.vim, ~/.vim/Bündel/vim-align, ~/.vim/Bündel/vim-Gurke, ~/.vim/Bündel/ vim-flüchtig, ~/.vim/Bündel/vim-git, ~/.vim/Bündel/vim-haml, ~/.vim/Bündel/vim-Markdown, ~/.vim/Bündel/vim-Schienen, ~/.vim /bundle/vim-repeat,~/.vim/bundle/vim-ruby,~/.vim/bundle/vim-ruby-debugger,~/.vim/bundle/vim-shoulda,~/.vim/ bundle/v im-superab, ~/.vim/bundle/vim-surround, ~/.vim/bundle/vim-tcomment, ~/.vim/bundle/vim-vividchalk, ~/.vim/bundle/zencoding- vim,/Anwendungen/MacVim.app/Inhalt/Ressourcen/vim/vimfiles,/Anwendungen/MacVim.app/Inhalt/Ressourcen/vim/ru ntime,/Anwendungen/MacVim.app/Inhalte/Ressourcen/vim/vimfiles/nach , ~/.vim/bundle/snipmate.vim/nach, ~/.vim/nach

+0

Sind beide zencoding Skripte geladen? Sowohl ein Plugin/zencoding.vim als auch ein autoload/zencoding.vim sollten wahrscheinlich geladen werden. –

+0

Nein. nur das Plugin. Irgendeine Idee, warum das Autoload nicht lädt? Habe ich Krankheitserreger durcheinander gebracht? – Ruprict

+0

Können Sie die Ausgabe von ': set rtp?' –

Antwort

9

Ich habe es, indem sie diese in meinem .vimrc arbeiten:

let g:user_zen_expandabbr_key = '<c-e>' 
let g:use_zen_complete_tag = 1 

(verwendete ich <c-e> anstelle des Standard vor allem, weil das ist, was ich von anderen Editoren mit Zen Coding gewohnt bin)

PS Für mich war Sparkup nicht wirklich eine Option, da eine meiner Lieblingsfunktionen beim zen-Coding die "Abkürzung" ist, die Sparkup (noch) nicht unterstützt.

+1

Beachten Sie, dass zen-coding.vim ab heute in emmet.vim umbenannt wurde, daher müssen Sie "zen" in den obigen Optionen ab sofort durch "emmet" ersetzen. http://mattn.github.com/emmet-vim –

0

Ich musste chmod +x sparkup's Support-Skript, damit es funktioniert. Gibt Vim Ihnen eine Fehlermeldung?

+0

Ich glaube nicht, Zen-Codierung verwendet Funken. Ich habe das Sparkup-Plugin installiert und es hat funktioniert. Weiß nicht, was ich mit Zen-Kodierung vermasselte, aber ich habe zenness zurück in vim, was das Endziel ist. Vielen Dank. – Ruprict

2

Es scheint, dass Pathogen nicht explizit die "nachher" Verzeichnisse enthält, die in Plugins gefunden werden, die Sie in Ihrem "bundle" Verzeichnis ablegen. Das bedeutet, dass Plugins wie zen-coding und snipMate ihre Initialisierungs-/Bereinigungs-/Schlüsselbindungsroutinen nicht ausführen können.

Offenbar haben diese Plugins für andere Leute in anderen Umgebungen gut funktioniert, aber für mich in SnipMate würde nicht funktionieren, weil der letzte Snippet Loading-Befehl im "nach" Verzeichnis wurde nicht bezogen.

Ich habe dies in pathogen.vim behoben, indem ich die pathogen#runtime_append_all_bundles() Funktion, um explizit alle "Nachher" Verzeichnisse innerhalb der Bundle-Verzeichnisse angefügt.

Hier ist ein Patch für pathogen.vim Version 1.2:

121c121,125 
<  let list += [dir] + pathogen#glob_directories(dir.sep.name.sep.'*[^~]') 
--- 
>  let subdirs = pathogen#glob_directories(dir.sep.name.sep.'*[^~]') 
>  let list += [dir] 
>  for subdir in subdirs 
>   let list += [subdir] + pathogen#glob_directories(subdir.sep.'*after*') 
>  endfor 

BIG EDIT: über this closed issue auf dem Pathogen Github Seite Nachdem wir, entdeckte ich, dass die Ursache explizit hinzugefügt werden, nicht, dass die „nach“ Verzeichnisse brauchte, war aber, dass sie wurden nicht wegen eines Backslash-Escaping-Problems auf Win32-Systemen im Befehl substitute() hinzugefügt.

Hier ist eine viel prägnante Patch, und in einheitlichem Format dieses Mal, sorry ...

@@ -116,7 +116,8 @@ 
    let list = [] 
    for dir in pathogen#split(&rtp) 
    if dir =~# '\<after$' 
-  let list += pathogen#glob_directories(substitute(dir,'after$',name.sep.'*[^~]'.sep.'after','')) + [dir] 
+  let replacement = substitute(name.sep.'*[^~]'.sep.'after', '\\', '\\\\', 'g') 
+  let list += pathogen#glob_directories(substitute(dir,'after$',replacement,'')) + [dir] 
    else 
     let list += [dir] + pathogen#glob_directories(dir.sep.name.sep.'*[^~]') 
    endif 

Der Reporter der Github Frage gesagt, dass sie Tim eine Pull-Anforderung gesendet, und Tim sagte er akzeptiert es, aber die beschriebene Änderung ist nicht in der aktuellen Version des Codes, also dachte ich, ich würde tun, was ich könnte, um meine Lösung hier zu bieten.

Dieser Patch entfernt alle Backslashes im Glob. Es sollte überhaupt keine Backslashes in irgendeinem der Runtime-Pfadelemente auf Nicht-Win32-Systemen geben, oder wenn dies der Fall ist, weil + Shellslash in Vim gesetzt ist und dieses Escaping wahrscheinlich erforderlich ist.

Ich verlasse die alte Lösung als Referenz.

Verwandte Themen