我一直在尝试让 snippets 与 Vim(特别是 MacVim)兼容。我尝试过 snippetsEmu 和 snipMate(首选)。其他插件运行良好。
我能够通过以下方式让 snippetsEmu 暂时工作A Byte of Vim 的笔记如果它们不起作用则运行:runtime! ftplugin/python_snippets.vim
,但作者没有提到它们为什么不起作用或有什么样的永久解决方案。
因此,基本上当我输入for<tab>
PHP 文件时,它只会在“for”后面放置一个制表符,而不是扩展到代码片段中。我是 Vim 新手,似乎无法弄清楚这一点。这两个插件(snippetsEmu 和 snipMate)与其他插件相比的唯一主要区别是它们使用 ~/.vim/after 目录。但知道这一点对我没有任何帮助。
我看到有些人建议确保 .vimrc 文件中包含以下内容,但这没有帮助:
set nocompatible
filetype on
filetype plugin on
答案1
事实证明,我遗漏了~/.vim/after/ftplugin
安装 snippetsEmu 时的文件夹,并将 snipMate 的一个文件放入其中,而不是它应该放的位置~/.vim/after/plugin
。而我却以为自己已经正确安装了所有东西。很抱歉浪费了可能看过这篇文章的人的时间。我仍然不知道为什么 snippetsEmu 不起作用,但我不想弄乱它,因为它似乎已被废弃并且缺乏 snipMate 所具有的功能。
答案2
我也遇到过这个问题(在 Win32 上使用 gvim),但对我来说,结果是“after”目录不在运行时路径上。
set runtimepath=$VIMRUNTIME,c:/Users/$USERNAME/_vim/after
似乎已经解决了...
答案3
我的 .vimrc 中有以下行:
:set paste
注释掉该行使得 snipMate 工作得很好。
答案4
set paste
我通过删除解决了这个问题.vimrc
。