Ausschnitte in Vim funktionieren nicht

3145
donut

Ich habe versucht, Schnipsel mit Vim (speziell MacVim) zu arbeiten. Ich habe sowohl snippetsEmu als auch snipMate (bevorzugt) ausprobiert. Andere Plugins funktionieren gut.

Ich habe es geschafft, dass SnippetsEmu vorübergehend über A Byte von Vims Notiz ausgeführt wird, :runtime! ftplugin/python_snippets.vimwenn sie nicht funktionieren, es sei denn, der Autor erwähnt nicht, warum er möglicherweise nicht funktioniert oder welche permanenten Lösungen verfügbar sind.

Wenn ich also for<tab>eine PHP-Datei eingebe, wird einfach ein Tab hinter "for" eingefügt, anstatt in das Snippet zu expandieren. Ich bin neu bei Vim und kann das nicht verstehen. Der einzige Hauptunterschied, den diese beiden Plugins (snippetsEmu und snipMate) im Vergleich zu anderen Plugins haben, besteht darin, dass sie das Verzeichnis ~ / .vim / after verwenden. Aber das zu wissen hat mir nicht geholfen.

Ich habe gesehen, dass einige Leute vorschlagen, sicherzustellen, dass Folgendes in Ihrer .vimrc-Datei enthalten ist. Dies hat jedoch nicht geholfen:

set nocompatible filetype on filetype plugin on 
2

4 Antworten auf die Frage

2
donut

Es stellte sich heraus, dass ich den Ordner verlassen hatte, ~/.vim/after/ftpluginals ich snippetsEmu installierte und eine der Dateien von snipMate dort ablegte, anstatt an die Stelle zu gelangen, an der sie gehen sollte ~/.vim/after/plugin. Und hier ging ich davon aus, dass ich alles richtig installiert hatte. Tut mir leid, dass ich irgendjemanden Zeit verschwendet habe, der sich das angesehen hat. Ich weiß immer noch nicht, warum SnippetsEmu nicht funktioniert hat, aber ich habe keine Lust, es zu verärgern, da es scheinbar aufgegeben wurde und es an Funktionen fehlt, die SnipMate bietet.

1
pete

Ich hatte die folgende Zeile in meiner .vimrc:

:set paste 

Durch das Kommentieren dieser Zeile funktionierte SnipMate gut.

1
Benj

Ich hatte auch dieses Problem (mit gvim unter Win32), aber für mich stellte sich heraus, dass das Verzeichnis "after" nicht im Laufzeitpfad lag.

set runtimepath=$VIMRUNTIME,c:/Users/$USERNAME/_vim/after 

Schien es zu klären ...

1
Karlisson

Ich löste dieses Problem durch das Entfernen set pastevon .vimrc.