Vim 中的代码片段不起作用

Vim 中的代码片段不起作用

我一直在尝试让 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

相关内容