Vim和snipMate(插件) - 添加新代码片段无效

New*_*bie 2 vim snipmate

我正在尝试为我的snipMate插件创建一个新代码段.

我使用一些名为(即)myfile.endfile的文件

所有.endfile文件都应该具有与.html文件相同的"代码段".所以我做了

cp html.snippet endfile.snippet
Run Code Online (Sandbox Code Playgroud)

在我的〜/ .vim/snippets目录中.

SnipMate正在处理所有现有的片段,但不适用于我新创建的片段.对此问题的任何建议?

(顺便说一句:创建新的.snippet文件后,我:helptags ~/.vim/doc在vim实例中运行了命令.)

Xav*_* T. 10

这是因为Snipmate可以使用filetype,这是打开特定类型文件时设置的Vim选项.

例如,如果您打开,"index.html" filetype会自动设置为html.

要了解它的工作原理,请执行:
:e $VIMRUNTIME/filetype.vim

作为初步测试,您可以:
1.打开test.endfile
2.键入:set ft=endfile:set filetype=endfile
3.检查您定义的片段现在是否有效

为此,请在.vimrc中自动添加以下内容:
au BufNewFile,BufRead *.endfile set filetype=endfile

这意味着每次读取或创建以endfilefiletype选项结尾的新文件时都会设置为endfile.

(文件类型是一个任意字符串,它不必与文件扩展名相同)